我在Ruby中使用这个简单的If函数做错了什么

时间:2018-01-16 13:28:52

标签: ruby

我一直在努力教自己编写代码并且倾向于Ruby。 在处理函数时,我遇到了这个问题,即使用户输入= =到answer变量,它仍然在if函数中返回false。它不会回归真实 如果它是一个整数,我可以让它工作,但由于某种原因,它有一个字符串时总是返回false。试图转换也是如此,但无法弄清楚。

感谢您的帮助。

puts("For each question select A, B, or C")
puts("What is the capital of Kentucky?")
puts()
puts("A. Louisville") 
puts("B. Frankfort") 
puts("C. Bardstown")
puts()

answer = String("B")

text = gets()
puts()

if text == answer
    puts("correct")
else
    puts("incorrect")
    puts("The correct answer was " + answer + ".")
end

1 个答案:

答案 0 :(得分:2)

在声明将解决此问题的“text”变量时,您可以调用另一种方法。

当您按Enter键提交答案时,您使用的方法会在结尾处保留换行符,以便它实际上永远不会对应答案。要删除换行符,请使用“chomp”方法。

text = gets.chomp

希望这有帮助。祝你好运。