我有一個關於Ruby中的if else循環的問題。下面是代碼Ruby如果其他條件比較
print "Enter your age: "
age = gets.chomp.to_i
print "Enter your sex(M/m/F/f) : "
sex = gets.upcase
if (sex == "M" and age > 21)
puts "Hi dude. You may enter."
elsif(sex == "F" and age > 18)
puts "Hi dudette. You may enter."
elsif (sex == "M" and age < 21)
puts "Hi dude. You may not enter."
elsif(sex == "F" and age < 18)
puts "Hi dudette. You may not enter."
else
puts age
puts sex
puts "I do not recognize that sex. Enter only M, m, F, or f."
end
當我在輸入類型,不管是什麼我進入它只是進入其他環路部分。我已經打印出2個變量的年齡和性別進行復查,他們確實符合我列出的條件。那麼,我的變量是否存在這個問題?或者如果我還有其他條件呢?
的組合'(男,21)'和'(女,18)'去else分支太。你應該在每個性別的年齡測試中使用'<=' or '> ='。 – axiac
@axiac是的,我也意識到這一點。謝謝! – Gabberz