Project1

标题: 百思不得其解的灵异问题...再次急求 [打印本页]

作者: 沉滞的剑    时间: 2013-4-19 05:07
标题: 百思不得其解的灵异问题...再次急求
本帖最后由 沉滞的剑 于 2013-4-19 07:06 编辑

越来越感觉自己的编程水平太低了....
debug代码
RUBY 代码复制
  1. p $game_actors[p+1].skills[0] == i.skill
  2.     p $game_actors[p+1].skills.include? (i.skill) == true

debug信息


我都已经确定 actor的第一个技能已经和判断技能,相等判断返回 true
但是判断actor学会的所有技能是否包括这个技能却莫名其妙的返回 false
难道include?不是判断数组是否包含值的?我别的地方用的时候都好好的...
======================================================================
奇怪 如果我改成
RUBY 代码复制
  1. p $game_actors[p+1].skills.include? (i.skill)
就会正常显示结果了?
可是这是为虾米啊?
作者: 6rp    时间: 2013-4-19 06:58
ruby里面空格有时候比较敏感。
f(x)
f x
这两种写法等价
你上面写法中
include?(x) 这个可以
include? x 这个可以
include? (x) 这个可以
include? (x)==true 就不行了,因为后面(x)==true被视为一个整体,变成了false,然后再成为include?的参数。结果就是在问
include?(x==true) 这样了?当然会出错。

总之,include?后面不要用那个空格!

作者: j433463    时间: 2013-4-19 18:34
或者您用

p ($game_actors[p+1].skills.include? (i.skill) == true)

试试?




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