Project1

标题: 请教下此代码的错误 [打印本页]

作者: sizz123    时间: 2008-2-1 05:31
标题: 请教下此代码的错误
a={$v[13],$v[14]} #13,14代表角色的两个坐标
if $v[6].include?(a)==true
   p "踩地雷了!"
$v[6].delete(a)
end

说明,

$v[6]是数组,以{[x,y][x1,y1][x2,y2]..[xn,yn]}的形式存在,要检测$v[13],$v[14]} 也就是a的值和数组相同或不同,但是却发生错误.

求原因
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 逐月    时间: 2008-2-1 05:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: 叶子    时间: 2008-2-1 18:07
数组应该是用中括号而不是大括号?
作者: sizz123    时间: 2008-2-1 19:08
以下引用叶子于2008-2-1 10:07:20的发言:

数组应该是用中括号而不是大括号?


中括弧也不行的,就算把a中的元素换成常数也是错误的

作者: sizz123    时间: 2008-2-1 19:13
以下引用逐月于2008-1-31 21:53:39的发言:


把$v[X]换成$X吧,没有必要用变量编号的。


没有用

作者: Eclair    时间: 2008-2-1 20:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: 水迭澜    时间: 2008-2-1 21:27
同,中括号
对了,弹出来的出错信息是什么?
作者: sizz123    时间: 2008-2-2 03:13
#而且判定.include?没有必要加上 == true的
-------------------------------------------------------------
前面的大括号我纠正了.
弹出的信息就是"没有为任何1个类定义include?",不过如何去判断include

后来我索性写了个简单的代码
vx=[[13,14][15,16]]
a=[13,14]
p vx.include?(a)

得到的结果是false,数组中明明有[13,14],但却返回了false

作者: 水迭澜    时间: 2008-2-2 03:39
你没有用在[13,14]中间加,啦……
数组里的元素要用,隔开的……
把它换这样试试

XXX=[[x,y],[x1,y1],[x2,y2],..,[xn,yn]] [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: link006007    时间: 2008-2-2 04:22
ruby不是C/C++..
= {} 是初始化hash
= [] 是初始化数组... ...
作者: sizz123    时间: 2008-2-2 10:14
居然是忘记标点了
作者: sizz123    时间: 2008-2-2 20:46
虽然问题的原因找到了,但是----把他作为并行处理事件又是错误的




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1