Ruby:字符串比较问题

标签 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

我正在做的是我正在使用 gets() 来测试用户是想乘以他们的输入还是添加它(我已经测试了这两个函数;它们都有效),稍后我得到了更多的输入函数和 float 翻译(也有效)。

发生的情况是我输入 A 并得到“无效答案”。M 也是如此。

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

最佳答案

gets 返回输入的整个字符串,包括换行符,因此当他们键入“M”并按下回车键时,您返回的字符串是 “M\n”。要去掉结尾的换行符,请使用 String#chomp,即将第一行替换为 answer = gets.chomp

关于Ruby:字符串比较问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1876899/

相关文章:

java - 从Java中的文件位置获取文件名

java - 我应该预初始化一个在多个分支中被覆盖的变量吗?

c++ - 该代码应该返回不带空格的字符串,但它返回字符串直到第一个空格字符

c++ - 是否可以将一个字符串的两个索引添加到一个字符,然后将该字符转换为 C++ 中的 int?

c++ - 字符串下标超出范围。字符串大小未知,循环字符串直到 null

ruby-on-rails - Rails Capistrano - SSHKit::Command::Failed:捆绑退出状态:16

ruby-on-rails - textarea 中每一行的前导和尾随空格

ruby-on-rails - 在 url 中,如何在 ruby​​ on rails 中显示标题名称而不是 id?

Ruby:代码 "updgrading"从 1.8.6 到 1.9.2

ruby-on-rails - Rails 3.2 的隐藏属性未填充表单中的字段