Menu
Coddy logo textTech

Instruction Unless

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

Ruby offre une manière unique d'exprimer des conditions lorsque vous souhaitez exécuter du code uniquement si quelque chose n'est pas vrai. L'instruction unless est essentiellement l'opposé de if.

Avec if, le code s'exécute quand la condition est vraie. Avec unless, le code s'exécute quand la condition est fausse :

logged_in = false

unless logged_in
  puts "Please log in to continue"
end

Ceci est équivalent à écrire if !logged_in, mais unless se lit souvent plus naturellement. Considérez cela comme « faites ceci à moins que cette condition ne soit vraie ».

Vous pouvez également utiliser unless avec else :

age = 20

unless age < 18
  puts "Access granted"
else
  puts "Access denied"
end

Cependant, lorsque vous avez besoin d'un bloc else, l'utilisation de if est généralement plus claire. L'instruction unless brille lorsque vous avez une condition négative simple sans chemin alternatif. Choisissez l'option qui rend votre code plus facile à lire d'un coup d'œil.

challenge icon

Défi

Facile

Les variables suivantes vous sont fournies :

has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false

Utilisez des instructions unless pour évaluer chaque scénario ci-dessous. Affichez le message spécifié uniquement lorsque la condition est fausse (ce qui correspond au moment où unless exécute son bloc).

  1. À moins que has_ticket ne soit true, affichez Please purchase a ticket
  2. À moins que is_vip ne soit true, affichez VIP access required
  3. À moins que items_in_cart ne soit supérieur à 0, affichez Your cart is empty
  4. À moins que battery_level ne soit supérieur à 20, affichez Low battery warning
  5. À moins que is_charging ne soit true ou que battery_level ne soit supérieur à 50, affichez Please charge your device

Chaque message doit apparaître sur sa propre ligne. Affichez uniquement les messages pour les conditions qui déclenchent le bloc unless.

Aide-mémoire

L'instruction unless exécute le code lorsqu'une condition est fausse, ce qui en fait l'opposé de if :

logged_in = false

unless logged_in
  puts "Please log in to continue"
end

Ceci est équivalent à if !logged_in, mais se lit souvent plus naturellement.

Vous pouvez utiliser unless avec else :

age = 20

unless age < 18
  puts "Access granted"
else
  puts "Access denied"
end

Cependant, unless est mieux utilisé pour des conditions négatives simples sans bloc else. Lorsque vous avez besoin d'un chemin alternatif, if est généralement plus clair.

Essayez vous-même

# Les variables sont déjà définies pour vous
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false

# À FAIRE : Écrivez votre code ci-dessous
# Utilisez des instructions unless pour vérifier chaque condition et afficher le message 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