为什么比较Ruby中的字符串总是返回false?

时间:2011-05-15 11:56:33

标签: ruby

我使用以下内容检查提出的问题的答案是真还是假:

when "new" 
  n = nums[rand(nums.length)]
  puts "Question:"
  puts qs[n].question
  torf = gets.downcase.to_str.eql? qs[n].answer.downcase.to_str
  puts torf

但即使给出正确的答案,结果torf也总是假的。我错过了什么?

1 个答案:

答案 0 :(得分:4)

gets将返回输入的字符串和换行字符,因此您需要将其删除。因为它是一个字符串,所以你不需要在结果上运行to_str。

 torf = gets.downcase.chomp.eql? qs[n].answer.downcase.to_s