Menu
Coddy logo textTech

Opérateur ternaire

Fait partie de la section Logique et Flux du Journey Ruby de Coddy — leçon 40 sur 56.

L'opérateur ternaire est un raccourci sur une seule ligne pour une instruction if/else qui renvoie une valeur. La syntaxe est condition ? value_if_true : value_if_false.

age = 20
status = age >= 18 ? "Eligible" : "Not Eligible"
puts status   # Eligible

C'est la même chose que d'écrire :

status = if age >= 18
           "Eligible"
         else
           "Not Eligible"
         end

Utilisez l'opérateur ternaire lorsque les deux branches retournent des valeurs courtes. Si l'une ou l'autre des branches nécessite plus d'une expression, revenez à un véritable if/else : en mettre trop dans un ternaire le rend difficile à lire.

Vous pouvez l'utiliser directement à l'intérieur d'autres expressions, y compris l'interpolation :

count = 1
puts "#{count} item#{count == 1 ? "" : "s"}"   # 1 élément
count = 5
puts "#{count} item#{count == 1 ? "" : "s"}"   # 5 éléments
challenge icon

Défi

Facile

Lisez un entier n depuis l'entrée. En utilisant l'opérateur ternaire (pas de blocs if/else), affichez exactement :

<n> is <label>

label est :

  • positive quand n > 0
  • negative quand n < 0
  • zero quand n == 0

Astuce : utilisez une ternaire imbriquée, condition ? a : (other_condition ? b : c).

Pour l'entrée 5, la sortie est 5 is positive. Pour 0, c'est 0 is zero.

Aide-mémoire

L'opérateur ternaire est un raccourci if/else sur une seule ligne : condition ? value_if_true : value_if_false

age = 20
status = age >= 18 ? "Eligible" : "Not Eligible"  # "Eligible"

Les ternaires peuvent être imbriqués et utilisés à l'intérieur d'une interpolation de chaîne :

count = 5
puts "#{count} item#{count == 1 ? "" : "s"}"  # 5 items

# Ternaire imbriqué
n = 3
label = n > 0 ? "positive" : (n < 0 ? "negative" : "zero")

Utilisez les ternaires uniquement pour des branches courtes et simples — privilégiez if/else lorsque les branches nécessitent plusieurs expressions.

Essayez vous-même

n = gets.to_i

# À FAIRE : utiliser une expression ternaire pour construire l'étiquette, puis puts
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 Logique et Flux