Opérateurs logiques, partie 3
Fait partie de la section Fondamentaux du Journey Ruby de Coddy — leçon 19 sur 88.
Ruby propose également des alternatives textuelles pour les opérateurs logiques : and, or et not. Ceux-ci fonctionnent de manière similaire à &&, || et !, mais avec une différence importante : ils ont une priorité plus basse.
true and false # faux (identique à &&)
true or false # vrai (identique à ||)
not true # faux (identique à !)La priorité plus faible signifie que ces opérateurs sont évalués après l'affectation. Cela peut entraîner un comportement inattendu :
result = true && false # result est false
result = true and false # result est true !Dans le deuxième exemple, l'affectation se produit en premier (result = true), puis and false est évalué mais son résultat est ignoré. C'est pourquoi la plupart des développeurs Ruby préfèrent &&, || et ! pour les conditions.
Les versions textuelles sont généralement réservées aux situations de contrôle de flux, que vous rencontrerez plus tard. Pour l'instant, tenez-vous-en aux opérateurs symboliques (&&, ||, !) lors de l'écriture de conditions pour éviter les surprises.
Défi
FacileLes variables suivantes vous sont fournies :
a = true
b = false
c = trueUtilisez les opérateurs logiques textuels (and, or, not) pour évaluer et afficher les expressions suivantes, chacune sur une ligne distincte :
a and ba or bnot ba and cb or cnot a
Chaque résultat doit être soit true soit false.
Aide-mémoire
Ruby propose des alternatives textuelles pour les opérateurs logiques : and, or et not. Ceux-ci fonctionnent de manière similaire à &&, || et !, mais avec une priorité plus faible.
true and false # faux
true or false # vrai
not true # fauxLa priorité plus faible signifie que ces opérateurs sont évalués après l'affectation, ce qui peut entraîner un comportement inattendu :
result = true && false # result est faux
result = true and false # result est vrai !Dans le second exemple, l'affectation se produit en premier (result = true), puis and false est évalué mais son résultat est ignoré.
La plupart des développeurs Ruby préfèrent &&, || et ! pour les conditions afin d'éviter les surprises. Les versions textuelles sont généralement réservées aux situations de contrôle de flux.
Essayez vous-même
# Les variables vous sont fournies
a = true
b = false
c = true
# TODO: Écrivez votre code ci-dessous
# Utilisez les opérateurs logiques textuels (and, or, not) pour évaluer et afficher chaque expression
# Chaque résultat doit être affiché sur une ligne distincteCette 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