Sezione 7

Cicli FOR ed etichette

Iterare con FOR su liste e numeri, e usare etichette per riesecuzione.

Progresso del corso 70%

Ciclo FOR

Serve a iterare gli elementi di una lista.

FOR @nome_lista #[inizio ; fine ; salto] = @funzione()

Tutti e tre i valori in #[] sono opzionali e il separatore ; va comunque incluso se si omette solo quello di mezzo.

Variabili speciali nel FOR

VariabileContenuto
ONITEMIl valore dell'elemento corrente
ONINDEXL'indice dell'elemento corrente
ONTAGIl/i tag dell'elemento corrente
numeri = [10 ; 20 ; 30]
  FOR @numeri = @{TALK @ONINDEX: @ONITEM}
  <* Output:
  0: 10
  1: 20
  2: 30 *>

  >> Iterazione al contrario
  FOR @numeri #[;;-1] = @{TALK @ONITEM}
  <* Output: 30 / 20 / 10 *>

NUMBERS

Esiste la lista speciale NUMBERS che contiene tutti i numeri reali, dove ogni numero ha se stesso come indice. Utile per iterare range numerici:

FOR @NUMBERS #[1 ; 5] = @{TALK @ONITEM}
  <* Output: 1 / 2 / 3 / 4 / 5 *>

Etichette

Qualsiasi istruzione può ricevere un'etichetta con la sintassi parola_chiave:etichetta. Per rieseguire l'istruzione associata a un'etichetta si usa *etichetta.

TALK:saluto Ciao!
  *saluto   >> riesegue il TALK:saluto

Se a una stessa etichetta vengono assegnate più istruzioni, *etichetta esegue l'ultima.

Etichette speciali di TALK

TALK:V — attiva un input persistente a fine output. L'input viene salvato nella variabile speciale ASKED.

TALK:F — disattiva l'input persistente.