Ruby新手,if和get函数有问题
无论我键入什么,它总是返回false。我尝试了同样的方法,将“right”和“left”更改为1和2,然后成功了。由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的这个技巧可
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