Menu
CoddyTech

Instruction Unless

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

Ruby offre une manière particulière d’exprimer des conditions lorsque tu veux 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 lorsque la condition est vraie. Avec unless, le code s’exécute lorsque la condition est fausse :

logged_in = false

unless logged_in
  puts "Please log in to continue"
end

Cela équivaut à écrire if !logged_in, mais unless se lit souvent plus naturellement. Vois cela comme « fais ceci sauf si cette condition est vraie ».

Tu peux aussi utiliser unless avec else :

age = 20

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

Cependant, lorsque tu as besoin d’un bloc else, utiliser if est généralement plus clair. L’instruction unless est particulièrement utile lorsque tu as une condition négative simple, sans autre chemin possible. Choisis la solution qui rend ton code plus facile à comprendre 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 indiqué uniquement lorsque la condition est fausse (c'est à ce moment que unless exécute son bloc).

  1. Si has_ticket n'est pas true, affichez Please purchase a ticket
  2. Si is_vip n'est pas true, affichez VIP access required
  3. Si items_in_cart n'est pas supérieur à 0, affichez Your cart is empty
  4. Si battery_level n'est pas supérieur à 20, affichez Low battery warning
  5. Si is_charging n'est pas true ou si battery_level n'est pas supérieur à 50, affichez Please charge your device

Chaque message doit apparaître sur sa propre ligne. N'affichez des messages que pour les conditions qui déclenchent le bloc unless.

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

# TODO: É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

Entraînez-vous par vous-même : Compilateur Ruby en ligne