SELECT CASE expression CASE value1: ... CASE value2: ... ... [ CASE ELSE ] ... ENDSELECT
Il comando SELECT CASE
fa parte della struttura
SELECT CASE…END SELECT
. Consente di eseguire diversi blocchi di
codice a seconda del valore di una variabile o espressione. In pratica,
è come avere una serie di “casi” e il programma esegue il codice
corrispondente al caso che si verifica.
L'espressione viene valutata all'inizio del blocco di controllo e
il suo valore viene confrontato con i valori specificati nei casi.
Ogni CASE
rappresenta un possibile valore o un intervallo di
valori dell'espressione. All'interno di ogni caso, inserisci le
istruzioni che verranno eseguite se il valore dell'espressione
corrisponde a quel caso.
Il CASE ELSE
è facoltativo e viene eseguito se nessun caso
precedente è vero. Nei computer a 8 bit, la semantica di
SELECT CASE
è strettamente legata alla rappresentazione dei
dati. Poiché registri e variabili erano spesso limitati a 8 bit,
i valori che potevano essere confrontati in casi sono interi tra
0 e 255, anche se ugBASIC supporta qualsiasi tipo di intero. In
ogni caso, consente di confrontare l'espressione con qualsiasi
valore intero ma, a causa della limitazione a 8 bit, l'intervallo
di valori che potevano essere confrontati dovrebbe essere limitato,
per essere efficace, in termini di prestazioni.
L'utilizzo di SELECT CASE
rende il codice più chiaro e
facile da capire rispetto a una serie di istruzioni IF…THEN…ELSE
annidate. Può essere più efficiente di una serie di istruzioni IF…THEN…ELSE
.
SELECT CASE number CASE 1 PRINT "one!" CASE 2 PRINT "two!" CASE ELSE PRINT "neither!" ENDSELCT
Si vedano anche i seguenti file di esempio:
SlCsCsCsElEs
Se si riscontra un problema nell'utilizzare questo comando, se si ritiene che vi sia un bug oppure che la spiegazione sia poco chiara, è possibile aprire una segnalazione per questa parola chiave su GitHub. Grazie!