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"
endCeci 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"
endCependant, 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.
Défi
FacileLes variables suivantes vous sont fournies :
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = falseUtilisez 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).
- À moins que
has_ticketne soittrue, affichezPlease purchase a ticket - À moins que
is_vipne soittrue, affichezVIP access required - À moins que
items_in_cartne soit supérieur à0, affichezYour cart is empty - À moins que
battery_levelne soit supérieur à20, affichezLow battery warning - À moins que
is_chargingne soittrueou quebattery_levelne soit supérieur à50, affichezPlease 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"
endCeci 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"
endCependant, 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é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
4Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 47Calculateur de partage de facture
Message de bienvenueSaisie de l'utilisateur10FizzBuzz avec une variante
Présentation du jeuLa méthode FizzBuzz2Variables et types de données
Nombres et variablesType de données StringType de données BooleanType de données SymbolVérification des types de donnéesConventions de nommageRécapitulatif - Création de variables5Prise de décision
Instruction IfIf - ElseRécapitulatif - Calculatrice simpleIf - Else imbriquésInstruction Unless8Boucles
Boucle For avec des intervallesBoucle WhileBreakNextRécapitulatif - FactorielleBoucle TimesBoucle UntilBoucles imbriquéesRécapitulatif - Entrée dynamique3Les opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesRécapitulatif - Calculs simplesOpérateurs de comparaison6Entrées/Sorties de base
Sortie avec putsSortie avec print et pSortie avec des variablesEntrée avec getsLa méthode chompConversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Méthodes
Définir une méthodeParamètres de méthodeValeurs de retourRécapitulatif - Méthode SigmaRécapitulatif - Méthode de validationValeurs de paramètres par défaut12Itérer sur les collections
L'itérateur EachEach avec indexItérer sur les chaînes de caractèresMap et Collect