如果条件在Ruby中无法识别
我正在通过编写一个简单的清唱茶程序来测试我的Ruby基础知识。我的一个方法是将输入的选项转换成一个数字(便于将来在程序中使用),但是这个if语句始终默认为“else”条件,尽管我可以清楚地看到,如果输入了rock,它将与if条件完全匹配。有什么想法吗如果条件在Ruby中无法识别,ruby,Ruby,我正在通过编写一个简单的清唱茶程序来测试我的Ruby基础知识。我的一个方法是将输入的选项转换成一个数字(便于将来在程序中使用),但是这个if语句始终默认为“else”条件,尽管我可以清楚地看到,如果输入了rock,它将与if条件完全匹配。有什么想法吗 def user_choice(choice) # 1 is rock # 2 is paper # 3 is scissors userintchoice = 0 choice.upcase! # turns user'
def user_choice(choice)
# 1 is rock
# 2 is paper
# 3 is scissors
userintchoice = 0
choice.upcase!
# turns user's choice into an integer
puts choice #debugging
if (choice == 'ROCK') then
userintchoice = 1
elsif (choice == 'PAPER') then
userintchoice = 2
elsif (choice == 'SCISSORS') then
userintchoice = 3
else
puts "Invalid Choice!"
end
return userintchoice
end
调用此方法并获取输入的代码为:
puts "What would you like to choose (input Rock, Paper or Scissors and <ENTER>)?"
userstringchoice = gets()
userchoice = user_choice(userstringchoice)
显示“您想要选择什么(输入石头、布或剪刀和)
userstringchoice=gets()
userchoice=user\u choice(userstringchoice)
似乎您必须在userchoice上调用.strip
,因为否则字符串将包含尾部\n
似乎您必须在userchoice上调用.strip
,因为否则字符串将包含尾部\n
请发布调用此函数的代码,包括您从何处获得的代码用户输入。请发布调用此函数的代码,包括从何处获得用户输入。哦,太棒了,我甚至没有想到这一点。已经修好了。非常感谢你的建议。一些我不习惯在Java中看到的东西。哦,太棒了,我甚至没想过。已经修好了。非常感谢你的建议。我不习惯在Java中看到的东西。