def room_actions
case $next_move
when "instructions"
instructions
when $next_move.any? { |x| ['up', 'down', 'left', 'right'].include?(x) }
determine_start
else
puts "I don't understand that."
prompt; $next_move = gets.chomp()
room_actions
end
end
请原谅我不明白这里发生了什么,但是为什么 ruby 会抛出这个错误呢?
foo.rb:83:
room_actions': undefined method
有吗?对于“”:字符串(NoMethodError)
$next_move
是一个全局变量(我知道它们很糟糕,我正在重构),我从状态机中的 get chomp 将其输入此方法。
似乎我没有定义“任何?” 方法。或者我传递的字符串是空的?无论如何,不是'.any吗?内置红宝石方法?我正在使用 2.0.0。
感谢您的浏览和建议。