Labels etichette
Identificatore :
Label = Etichetta
Un'etichetta indica l'obiettivo per un'istruzione
GOTO.
Un'etichetta, definisce una procedura a sua volta all'interno di una procedura.
Un'etichetta termina sempre con due punti (:).
 |
GOTO e le etichette possono essere utilizzate per lasciare una struttura di controllo.
FOR iY = 0 TO 5
FOR iX = 0 TO 20 STEP 1
PRINT "Loop1 "; iX
IF iX = 3 THEN GOTO LOOP2
NEXT
NEXT
LOOP2:
|
 |
Attenzione! GOTO e label non possono essere usati all'interno di una struttura. Questo non è ammesso, sempre se le variabili sono presenti.
Esempio
iX = 18
' GOTO LOOP3 ' proibito.
FOR iX = 20 TO -2 STEP -2
LOOP3:
PRINT "Loop2 "; iX
NEXT
 |
La coppia di istruzioni Goto e Label: sono un retaggio del passato che risale alla nascita stessa del BASIC quando il BASIC era solo con i numeri di linea, con funzionalità assai limitate per non parlare della memoria. Con queste parole chiave si riusciva a creare delle specie di sub routine surrogate di funzioni e procedure che paradossalmente riuscivano a rendere il codice addirittura più leggibile. Ma con il passare del tempo e l'aumentare del codice tutto questo produsse il famigerato "spaghetti code" in cui era assai difficile districarsi e gli errori veramente difficili da scovare. Inoltre l'avanzamento del linguaggio ha portato a strutture dove questa coppia d'istruzioni non ha più senso di esistere il cui uso è veramente molto molto raro. Si consiglia pertanto di evitarne l'uso. Esse hanno ragion d'esistere solo per compatibilità
|
|