J'utilise le code suivant pour comparer les chaînes mais cela m'amène toujours au else
. Pourquoi?Comment faire une comparaison de chaînes dans Ruby?
print("Enter your state abbreviation: ")
state_abbreviation = gets
if state_abbreviation.upcase == "NC"
puts("North Carolina")
elsif state_abbreviation.upcase == "SC"
puts("Sourth Carolina")
elsif state_abbreviation.upcase == "GA"
puts("Georgia")
elsif state_abbreviation.upcase == "FL"
puts("Florida")
elsif state_abbreviation.upcase == "AL"
puts("Alabama")
else
puts("You have enter wrong abbreviation")
end
J'ai aussi essayé .eql?("string")
mais j'obtenir le même résultat.
Je ne sais vraiment pas Ruby très bien, mais pourquoi cette difficile et fragile si-si-si-else la structure? Utilisez une HashMap et, si vous ne récupérez rien, définissez le message d'erreur. Cela aiderait également le problème de nouvelle ligne tout le monde est sorti ci-dessous. – MikeHoss
1. Je suis très nouveau à Ruby alors même ne sais pas si HashMP sortir là-bas? 2. Je n'aime pas cas-quand! – itsaboutcode