Ruby:字符串比较问题

new*_*456 4 ruby string

我目前正在学习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
Run Code Online (Sandbox Code Playgroud)

我正在做的是我正在使用gets()来测试用户是想要将它们的输入相乘还是添加它(我已经测试了两个函数;它们都可以工作),我后来得到了一些更多的输入函数和浮点转换(这也有效).

会发生什么事情,我输入A,然后我得到"无效答案."M也是如此.

这里发生了什么?(我也使用了.eql?(sp),它也返回了bubcus)

Jor*_*ing 6

gets返回输入的整个字符串,包括换行符,因此当他们输入"M"并按回车键时,你回来的字符串就是"M\n".要删除尾随换行符,请使用String#chomp,即替换第一行answer = gets.chomp.