2014-03-05 91 views
2

我寫了這個代碼:不知道爲什麼發生這種情況

print "100 + 1 =" 
user_answer = gets.chomp 
if user_answer == 101 
    puts "That's correct" 
else 
    puts "Sorry, you're wrong" 
end 

當我不管我的答案是什麼運行這段代碼,執行else分支。如果有人能指出我正確的方向,將不勝感激。

+4

請嘗試users_answer.to_i。獲取返回一個字符串。你需要將它轉換爲一個整數,然後再比較爲101 – 0xSina

回答

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

您需要投下user_answer作爲數字,然後將其與101進行比較。

if user_answer.to_i == 101 
    ... 
相關問題