我写了这段代码:
print "100 + 1 ="
user_answer = gets.chomp
if user_answer == 101
puts "That's correct"
else
puts "Sorry, you're wrong"
end
当我运行此代码时,无论我的答案是什么,都会执行else
分支。如果有人能指出我正确的方向,那将非常感激。
答案 0 :(得分:4)
user_answer
是一个字符串:
user_answer = "101\n".chomp
# => "101"
代码正在比较字符串和数字,它始终返回false
:
user_answer == 101
# => false
您需要将字符串转换为数字,或将其与字符串进行比较:
user_answer.to_i == 101
# => true
user_answer == "101"
# => true
答案 1 :(得分:1)
在将user_answer
与101进行比较之前,您需要将if user_answer.to_i == 101
...
作为数字投射。
{{1}}