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.

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

Entraînez-vous par vous-même : Compilateur Ruby en ligne