Indice

ugBASIC Manuale Utente

SELECT CASE...CASE...CASE ELSE...ENDSELECT ✓

SINTASSI

   SELECT CASE expression
      CASE value1:
         ...
      CASE value2:
         ...
      ...
      [ CASE ELSE ]
         ...
   ENDSELECT

SCOPO

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.

ESEMPIO

  SELECT CASE number
    CASE 1
       PRINT "one!"
    CASE 2
       PRINT "two!"
    CASE ELSE
       PRINT "neither!"
  ENDSELCT

Si vedano anche i seguenti file di esempio:

ABBREVIAZIONE

 SlCsCsCsElEs

DISPONIBILE SU

VEDI ANCHE

CASE CASE ELSE ENDSELECT

PROBLEMI?

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!

POWERED BY