Corso di Raku / Avanzato / Controllo di flusso
Phaser
Un phaser e un blocco speciale che viene eseguito automaticamente in un momento particolare della vita di un programma, piuttosto che dove appare nel codice sorgente. Non si chiama un phaser; si dice soltanto quando il suo codice deve essere eseguito, denominando il blocco.
I phaser piu comuni contrassegnano le fasi del programma nel suo complesso:
BEGINviene eseguito il prima possibile, mentre il programma e ancora in fase di compilazione;INITviene eseguito una volta all’inizio dell’esecuzione, prima del codice principale;ENDviene eseguito una volta alla fine, dopo che il codice principale e terminato.
Il seguente programma posiziona questi phaser tra istruzioni ordinarie. Nota che l’output non segue l’ordine delle righe nel file:
say 'main body';
BEGIN say 'BEGIN';
END say 'END';
INIT say 'INIT';Il programma stampa:
BEGIN
INIT
main body
ENDBEGIN viene eseguito per primo, durante la compilazione.
Poi, a tempo di esecuzione, INIT viene eseguito prima del
corpo principale. Il corpo principale viene stampato dopo, e
END viene eseguito per ultimo, indipendentemente da dove e
stato scritto.
Un uso comune di END e stampare un riepilogo o ripulire
qualcosa appena prima che il programma termini, mentre
BEGIN e utile per operazioni che devono avvenire prima di
qualsiasi altra cosa.
Pratica
Risolvi 1 quiz sul contenuto di questo argomento.
Esercizi
Questa sezione contiene 3 esercizi. Guarda tutti gli argomenti di questa sezione prima di iniziare gli esercizi.