switch
Il Problema delle Catene di If
Section titled “Il Problema delle Catene di If”Immagina di dover gestire quattro modalità operative di una bici elettrica:
0spenta1lenta2veloce3boost.
Con if e else if si scriverebbe così:
Funziona, ma diventa lungo e ripetitivo. Quando si deve confrontare una stessa variabile con molti valori diversi, esiste un costrutto più pulito: switch.
La Sintassi di switch
Section titled “La Sintassi di switch”Analogia: manopola di una lavatrice
Section titled “Analogia: manopola di una lavatrice”Pensa alla rotella di una lavatrice: hai una manopola che puoi girare su Cotone, Sintetici, Delicati, Lana. In base alla posizione selezionata, parte un programma diverso. switch funziona esattamente così: guarda il valore della variabile e salta direttamente al caso corrispondente.
case e break
Section titled “case e break”Ogni case rappresenta un possibile valore della variabile. Se il valore corrisponde, Arduino esegue le istruzioni di quel blocco.
La parola break è fondamentale: dice ad Arduino di uscire dallo switch dopo aver eseguito il caso corrispondente. Senza break, Arduino continuerebbe ad eseguire anche i case successivi, uno dopo l’altro, indipendentemente dal loro valore, un comportamento quasi sempre indesiderato.
default: Il Caso Finale
Section titled “default: Il Caso Finale”default è opzionale ed è il caso “tutto il resto”: viene eseguito se nessuno dei case precedenti corrisponde al valore della variabile. È l’equivalente dell’else finale in una catena di else if.