我不明白爲什麼我的If else語句無法正常工作,如果我輸入'y',那麼它會評估if else語句的最後部分。Ruby如果其他語法評估
puts('give 1: ')
nr1= Integer(gets)
puts('give 2: ')
nr2= Integer(gets)
selection = gets.to_s
if (selection == "y".upcase)
puts "Result is #{nr1+nr2}"
elsif (selection =="v".upcase)
puts "Result is #{nr1-nr2}"
else (selection == "k".upcase)
puts "Result is #{nr1*nr2}"
end
'else(selection ==「k」.upcase)'將被視爲普通的'else'。可能你想'elsif'到位。 –
我曾嘗試切換它,但它沒有任何效果,如果輸入'y','v'或'k',它不打印結果。 –
你想'如果selection.chomp.downcase ==「y」'(或'如果selection.chomp.upcase ==「Y」')。 'gets.to_s'與'gets'相同。 'gets'總是返回一個以換行符結尾的字符串('「\ n」')。你需要'gets.chomp'去除那個換行符。 –