一个简单的问题,但无法弄清楚如何解决它,缺乏Ruby语言的知识:
class Game def initialize get_command end def get_command command = gets puts command # => POSITION puts command != "POSITION" # => true if command != "POSITION" command = get_command else return true end end end a = Game.new
每当我运行一个应用程序并输入POSITION
时,总是得到true
与"POSITION"
相比,任何人都可以解释原因吗?
由于
答案 0 :(得分:2)
因为你实际得到的是“POSITION \ n”。你可以在irb中看到这个:
1.9.3p194 :061 > command = gets
POSITION
=> "POSITION\n"
在进行比较之前,您应该删除命令:
command = gets.strip
或
command = gets.chomp
这将从输入中删除空格(包括换行符)。