我目前正在学习 Ruby,除了一个小的字符串比较问题外,我很享受所有的一切。
answer = gets()
if (answer == "M")
print("Please enter how many numbers you'd like to multiply: ")
elsif (answer. == "A")
print("Please enter how many numbers you'd like to sum: ")
else
print("Invalid answer.")
print("\n")
return 0
end
我正在做的是我正在使用 gets() 来测试用户是想乘以他们的输入还是添加它(我已经测试了这两个函数;它们都有效),稍后我得到了更多的输入函数和 float 翻译(也有效)。
发生的情况是我输入 A 并得到“无效答案”。M 也是如此。
这里发生了什么? (我也使用过 .eql? (sp),它也返回 bubcus)
最佳答案
gets
返回输入的整个字符串,包括换行符,因此当他们键入“M”并按下回车键时,您返回的字符串是 “M\n”
。要去掉结尾的换行符,请使用 String#chomp
,即将第一行替换为 answer = gets.chomp
。
关于Ruby:字符串比较问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1876899/