Ich habe eine Frage zu den if else Schleifen in Ruby. Hier ist der CodeRuby wenn sonst Bedingung Vergleich
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
Wenn ich in den Eingängen geben, und zwar unabhängig von dem, was ich gebe es nur in den anderen Schleifenabschnitt eintritt. Ich habe die 2 Variablen Alter und Geschlecht zur Überprüfung ausgedruckt und sie passen zu den Bedingungen, die ich aufgelistet habe. So ist das Problem hier mit meinen Variablen oder ist es mein wenn sonst Bedingungen?
Die Kombinationen '(M, 21)' und '(F, 18)' gehen auch an den anderen Zweig . Sie sollten '<=' or '> =' bei einem der Altertests für jedes Geschlecht verwenden. – axiac
@axiac Yup, das habe ich auch gemerkt. Vielen Dank! – Gabberz