Menu
Coddy logo textTech

Operatore ternario

Fa parte della sezione Logica e flusso del percorso Ruby di Coddy. Lezione 40 di 56.

L’operatore ternario è una scorciatoia su una riga per un if/else che restituisce un valore. La sintassi è condition ? value_if_true : value_if_false.

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

È come scrivere:

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

Usa l’operatore ternario quando entrambi i rami restituiscono valori brevi. Se uno dei due rami richiede più di un’espressione, usa un vero if/else: inserire troppe cose in un operatore ternario lo rende difficile da leggere.

Puoi usarla direttamente all'interno di altre espressioni, inclusa l'interpolazione:

count = 1
puts "#{count} item#{count == 1 ? "" : "s"}"   # 1 elemento
count = 5
puts "#{count} item#{count == 1 ? "" : "s"}"   # 5 elementi
challenge icon

Sfida

Facile

Leggi un intero n dall'input. Usando l'operatore ternario (senza blocchi if/else), stampa esattamente:

<n> is <label>

dove label è:

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

Suggerimento: usa un ternario annidato, condition ? a : (other_condition ? b : c).

Per l'input 5 l'output è 5 is positive. Per 0 è 0 is zero.

Provalo tu

n = gets.to_i

# TODO: usa un'espressione ternaria per creare l'etichetta, poi puts
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Ruby online