Menu
Coddy logo textTech

If - Else imbriqués

Fait partie de la section Fondamentaux du Journey Ruby de Coddy — leçon 24 sur 88.

Et si vous devez vérifier plus de deux conditions ? Vous pouvez placer une instruction if-else à l'intérieur d'une autre instruction if-else. C'est ce qu'on appelle l'imbrication, et cela vous permet de gérer plusieurs points de décision.

score = 85

if score >= 90
  puts "Grade: A"
else
  if score >= 80
    puts "Grade: B"
  else
    puts "Grade: C"
  end
end

Ruby vérifie la première condition. Si elle est fausse, il passe au bloc else où un autre if-else attend. Cela crée une chaîne de décisions, chacune restreignant les possibilités.

Ruby offre une manière plus propre d'écrire cela en utilisant elsif, qui combine else et if en un seul mot-clé :

score = 85

if score >= 90
  puts "Grade: A"
elsif score >= 80
  puts "Grade: B"
else
  puts "Grade: C"
end

Les deux exemples produisent le même résultat, mais elsif rend votre code plus plat et plus facile à lire. Vous pouvez enchaîner autant de conditions elsif que vous le souhaitez, et le else final capture tout ce qui ne correspond pas aux conditions précédentes.

challenge icon

Défi

Facile

La variable suivante vous est fournie :

temperature = 15

Créez un système de conseil météo en utilisant if, elsif et else pour classer la température et afficher le message approprié :

  • Si temperature est supérieure ou égale à 30, affichez Hot - Stay hydrated
  • Si temperature est supérieure ou égale à 20, affichez Warm - Enjoy the day
  • Si temperature est supérieure ou égale à 10, affichez Cool - Bring a jacket
  • Si temperature est supérieure ou égale à 0, affichez Cold - Bundle up
  • Sinon, affichez Freezing - Stay indoors

Affichez uniquement le message unique qui correspond à la température.

Aide-mémoire

Vous pouvez imbriquer des instructions if-else les unes dans les autres pour vérifier plusieurs conditions :

score = 85

if score >= 90
  puts "Grade: A"
else
  if score >= 80
    puts "Grade: B"
  else
    puts "Grade: C"
  end
end

Ruby propose elsif comme un moyen plus propre d'enchaîner plusieurs conditions :

score = 85

if score >= 90
  puts "Grade: A"
elsif score >= 80
  puts "Grade: B"
else
  puts "Grade: C"
end

Vous pouvez enchaîner autant de conditions elsif que nécessaire. Le else final capture tout ce qui ne correspond pas aux conditions précédentes.

Essayez vous-même

temperature = 15

# TODO : Écrivez votre code ci-dessous pour classer la température
# Utilisez if, elsif et else pour afficher le message d'avis météorologique approprié
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux