Menu
Coddy logo textTech

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.

challenge icon

Défi

Facile

Les variables suivantes vous sont fournies :

a = true
b = false
c = true

Utilisez les opérateurs logiques textuels (and, or, not) pour évaluer et afficher les expressions suivantes, chacune sur une ligne distincte :

  1. a and b
  2. a or b
  3. not b
  4. a and c
  5. b or c
  6. not 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         # faux

La 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 distincte
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