我无法确定为什么这不起作用。我把它扔进了irb,它运行正常..如果你看到问题,请告诉我
我的代码:
class Player
def play_turn(warrior)
@warrior = warrior
@turn ||= 0
puts @warrior.look
if @warrior.look.include?("Wizard")
@warrior.shoot!
输出数组是:
nothing
Captive
Wizard
由于某种原因它不会拍摄,这个if语句返回false ..谢谢!
答案 0 :(得分:5)
@warrior.look
会返回 Space
个对象的数组,而不是string
s 。只有puts
会将其转换为string
,这就是您.include?("Wizard")
无效的原因。
因此,您可以在Space
之前将.include?("Wizard")
个对象转换为字符串,或者您需要一个适用于Space
对象的条件,例如使用Space#enemy?
或{{1}方法:
Space#unit