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