Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Strutture di controllo unless e case

unless è un'istruzione condizionale di Ruby opposta a "if"; si tratta infatti di un'istruzione che permette di dar vita ad un determinato comportamento sulla base di una condizione non soddisfatta ("falsa").

Per spiegare meglio il funzionamento di "unless" proponiamo un semplice esempio:

# costrutto unless
# definiamo una variabile
i = 3 
# stabiliamo una condizione 
unless i >= 10
  puts "Prima condizione"
# introduciamo un'alternativa	
else
  puts "Seconda condizione"
# chiudiamo il blocco unless - else
end
L'output del nostro script sarà "Prima condizione", infatti "unless" consente di verificare che una condizione non sia soddisfatta; nel nostro caso infatti la variabile "i" non è nè maggiore nè uguale a "10".

"unless" permette anche di essere utilizzata con una sintassi alternativa:

# condizione unless
# sintassi semplificata
i = 3 
puts 'i è maggiore di 5' unless i >= 5
La stessa tipologia di sintassi potrà essere utilizzata anche per l'istruzione "if":
# costrutto if
# sintassi semplificata
i = 5 
puts 'i è maggiore di 3' if i >= 3
Sempre riferendoci all'struzione if è possibile attuare un'ulteriore semplificazione a livello sintattico con un piccolo sacrificio a carico della leggibilità del codice:
# costrutto if
# sintassi semplificata
i = 5
puts val = i == 5 ? 'uguale' : 'diverso'
L'operatore "?" ci permette infatti di effettuare un controllo tra valori; nel nostro esempio abbiamo stabilito che la variabile "i" è associata al valore "5", lo scriptino stabilisce che se ("?") "i" è identica a "5" dovrà essere stampata la stringa "uguale", diversamente (":"), dovrà essere stampata la stringa "diverso". L'output sarà naturalmente "uguale".

case è un costrutto che può essere utilizzato spesso come alternativa ad "if" ed "unless", utilizza infatti una struttura in grado di poter gestire più eventi definiti dall'utente; vediamo un semplice esempio:

# costrutto case - when 
# definizione della variabile
nome = 'Carla'
# introduzione dei possibili casi
case nome
when 'Carla'
  puts 'Ciao Carla'
when 'Monica'
  puts 'Ciao Monica'
# alternativa
else
  puts 'Ciao!'
# chiusura del blocco case - when
end
In pratica una volta stabilito il valore di una variabile è possibile introdurre diversi eventi che si verificheranno quando (when) una determinata condizione verrà soddisfatta.
Anche "case" consente l'introduzione di un'alternativa con "else", si tratta infatti di un costrutto condizionale esattamente come "if" o "unless".

Nello stesso modo, anche per "case" è naturalmente possibile utilizzare una sintassi semplificata:

# costrutto case - when
# sintassi semplificata
 
# definizione della variabile
i = 5
# introduzione dei possibili casi
case i 
  when i > 6: puts 'Maggiore di 6'
  when i == 6: puts 'Minore di 6'
# alternativa
  else puts 'Uguale a 5'
# chiusura del blocco case - when
end

Corsi
Corso Ruby e Ruby On RailsCorso Ruby e Ruby On Rails
Creare software ed applicazioni Web con Ruby e ROR. A partire da 49 €.
Sommario
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122