ich nicht das Problem mit diesem Code herausfinden konnte:While-Schleife funktioniert nicht. Einschließlich Saiten und Umwandlung in Großbuchstaben
select = false
while (!select)
print "What animal do you want to adopt? (Cat/Dog/Fish): "
your_animal = gets
if your_animal.upcase == "CAT" or your_animal.upcase == "DOG" or your_animal.upcase == "FISH"
puts "Ah, you want #{your_animal}."
select = true
else
puts "Please pick from any of the three animals and make sure it is spelled correctly."
end
end
Die if
Aussage mit den drei Bedingungen nicht funktioniert, und wird den Code in der else
Anweisung ausführen sogar wenn ich schreibe die richtige Antwort für die if
Anweisung zu aktivieren.
Jede Hilfe wäre willkommen.
... und 'bis (wählen)' statt 'while (! Wählen)'. Wenn Sie das Ergebnis von 'gets' in eine Ganzzahl (nicht hier) konvertieren wollen, können Sie entweder' gets.chomp.to_i' oder nur 'gets.to_i' schreiben, da' .to_i' die Konvertierung so bald beendet wenn es ein anderes Zeichen als eine Ziffer (oder das Ende der Zeichenfolge) trifft. Gleiches mit 'to_f'. –
Das hat perfekt funktioniert! Ich habe es gelesen, nachdem Sie das erwähnt haben und ich verstehe warum; Wenn Sie eine Eingabe eingeben, lautet die Zeichenfolge beispielsweise: "CAT " Das ist nicht dasselbe wie "CAT". Danke, das macht Sinn! –
Alex, nein, "bekommt" gibt "CAT \ n" 'zurück. –