Opérateurs logiques, partie 4
Fait partie de la section Fondamentaux du Journey Ruby de Coddy — leçon 20 sur 88.
Lorsque vous combinez plusieurs opérateurs logiques dans une seule expression, Ruby les évalue dans un ordre spécifique basé sur la priorité des opérateurs. Comprendre cet ordre vous aide à écrire des conditions correctes et à éviter des résultats inattendus.
La priorité, de la plus élevée à la plus basse, est : ! (non), puis && (et), puis || (ou). Cela signifie que ! est évalué en premier, suivi de &&, et enfin || :
true || false && false # true (&& est évalué en premier)
# Équivalent à : true || (false && false)
!false && true # true (! est évalué en premier)
# Équivalent à : (!false) && trueVous pouvez utiliser des parenthèses pour passer outre la priorité par défaut et rendre vos intentions claires :
(true || false) && false # false (les parenthèses forcent || en premier)
true || (false && false) # true (comportement par défaut)Même lorsque les parenthèses ne sont pas strictement nécessaires, les ajouter rend souvent les expressions complexes plus faciles à lire. En cas de doute, utilisez des parenthèses pour montrer explicitement comment les conditions doivent être groupées.
Défi
FacileLes variables suivantes vous sont fournies :
x = true
y = false
z = true
a = falseÉvaluez les expressions suivantes et affichez chaque résultat sur une ligne distincte. Faites attention à la priorité des opérateurs : ! est évalué en premier, puis &&, et enfin ||.
x || y && z!y && zx && y || z!a || y && zx && !y && z(x || y) && ax || (y && a)!(x && y) || z
Chaque sortie doit être soit true soit false.
Aide-mémoire
Ruby évalue les opérateurs logiques dans un ordre spécifique basé sur la priorité des opérateurs :
!(not) - priorité la plus haute&&(and) - priorité moyenne||(or) - priorité la plus basse
Exemples de priorité des opérateurs :
true || false && false # true (&& est évalué en premier)
# Équivaut à : true || (false && false)
!false && true # true (! est évalué en premier)
# Équivaut à : (!false) && trueUtilisez des parenthèses pour modifier la priorité par défaut ou améliorer la lisibilité :
(true || false) && false # false (les parenthèses forcent || en premier)
true || (false && false) # true (comportement par défaut)Essayez vous-même
# Les variables sont déjà définies pour vous
x = true
y = false
z = true
a = false
# À FAIRE : Évaluer chaque expression et afficher le résultat sur une ligne distincte
# Rappel sur la priorité des opérateurs : ! en premier, puis &&, puis ||
# 1. x || y && z
puts # votre expression ici
# 2. !y && z
puts # votre expression ici
# 3. x && y || z
puts # votre expression ici
# 4. !a || y && z
puts # votre expression ici
# 5. x && !y && z
puts # votre expression ici
# 6. (x || y) && a
puts # votre expression ici
# 7. x || (y && a)
puts # votre expression ici
# 8. !(x && y) || z
puts # votre expression iciCette 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