Menu
Coddy logo textTech

Istruzione unless

Fa parte della sezione Fondamenti del percorso Ruby di Coddy. Lezione 25 di 88.

Ruby offre un modo particolare per esprimere condizioni quando vuoi eseguire il codice solo se qualcosa non è vero. L'istruzione unless è essenzialmente l'opposto di if.

Con if, il codice viene eseguito quando la condizione è vera. Con unless, il codice viene eseguito quando la condizione è false:

logged_in = false

unless logged_in
  puts "Please log in to continue"
end

È equivalente a scrivere if !logged_in, ma unless spesso si legge in modo più naturale. Pensalo come «fai questo a meno che quella condizione non sia vera».

Puoi anche usare unless con else:

age = 20

unless age < 18
  puts "Access granted"
else
  puts "Access denied"
end

Tuttavia, quando ti serve un blocco else, di solito è più chiaro usare if. L’istruzione unless è particolarmente utile quando hai una semplice condizione negativa senza un percorso alternativo. Scegli quello che rende il tuo codice più facile da leggere a colpo d’occhio.

challenge icon

Sfida

Facile

Ti vengono fornite le seguenti variabili:

has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false

Usa le istruzioni unless per valutare ciascuno degli scenari seguenti. Stampa il messaggio specificato solo quando la condizione è falsa (cioè quando unless esegue il suo blocco).

  1. A meno che has_ticket non sia true, stampa Please purchase a ticket
  2. A meno che is_vip non sia true, stampa VIP access required
  3. A meno che items_in_cart non sia maggiore di 0, stampa Your cart is empty
  4. A meno che battery_level non sia maggiore di 20, stampa Low battery warning
  5. A meno che is_charging non sia true oppure battery_level non sia maggiore di 50, stampa Please charge your device

Ogni messaggio deve apparire su una riga a sé. Stampa solo i messaggi relativi alle condizioni che attivano il blocco unless.

Provalo tu

# Le variabili sono già state definite per te
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false

# TODO: Scrivi il tuo codice qui sotto
# Usa le istruzioni unless per verificare ogni condizione e stampare il messaggio appropriato
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 Fondamenti

Esercitati da solo: Compilatore Ruby online