In molti casi casi in alternativa a if, e unless, è più comodo e più chiaro utilizzare il costrutto case. vediamolo in dettaglio. La sintassi classica è la seguente:
case command
when "start"
puts "avvio in corso..."
when "stop"
puts "arresto in corso..."
else
puts "Comandi: start/stop"
end
L'istruzione che segue l'else rappresenta il ramo di default che viene eseguito se tutte le altre condizioni falliscono. Se la condizione è sulla stessa linea dell'espressione è possibile utilizzare la parola chiave then o i due punti ottenendo una sintassi più compatta:
case n
when n > 10: puts "N è maggiore di dieci"
when n < 10: puts "N è minore di dieci"
else puts "N vale dieci"
end
A differenza dell'esempio precedente in questo caso abbiamo utilizzato come condizioni delle espressioni booleane, in alternativa è possibile utilizzare anche delle espressioni regolari, dei range o delle classi rendendo il case uno strumento incredibilmente potente. Inoltre poiché case ritorna il valore dell'ultima espressione valutata è possibile assegnare ad una variabile il risultato del costrutto:
value_n = case n
when n > 10: "N è maggiore di dieci"
when n < 10: "N è minore di dieci"
else "N vale dieci"
end
Se vuoi aggiornamenti su Development inserisci la tua email nel box qui sotto: