Ruby新手,if和get函数有问题

Ruby新手,if和get函数有问题,ruby,if-statement,Ruby,If Statement,无论我键入什么,它总是返回false。我尝试了同样的方法,将“right”和“left”更改为1和2,然后成功了。由get返回的字符串将在末尾包含一个“\n”,除非您是文件的结尾 使用String#chomp(choice=gets.chomp)删除它 如果不确定发生了什么,请使用p打印一些调试信息,例如: p选项 与puts不同,它返回打印的表达式,以便您可以链接它,并在打印之前对其运行。检查,以便查看表示put也有一点神奇之处——即它只在参数已经以换行符结尾时才添加换行符。put的这个技巧可

无论我键入什么,它总是返回false。我尝试了同样的方法,将“right”和“left”更改为1和2,然后成功了。

get
返回的字符串将在末尾包含一个“\n”,除非您是文件的结尾

使用
String#chomp
choice=gets.chomp
)删除它

如果不确定发生了什么,请使用
p
打印一些调试信息,例如:
p选项

与puts不同,它返回打印的表达式,以便您可以链接它,并在打印之前对其运行
。检查
,以便查看表示
put
也有一点神奇之处——即它只在参数已经以换行符结尾时才添加换行符。
put
的这个技巧可能会使查找问题的根源变得更加困难

谢谢,在得到和工作后加上.chomp。这是非常有用的。
puts "The road splits, do you go left or right?"

choice = gets
if choice == 'right'
  puts "You walk right"
elsif choice == 'left'
  puts "You walk left"
else
  puts "Not a valid choice"
  puts choice
  puts choice.class
end