Successivo: Istruzione do, Precedente: Istruzione if, Su: Istruzioni [Contenuti][Indice]
while
Nella programmazione, un ciclo è una parte di un programma che può
essere eseguita due o più volte consecutivamente.
L’istruzione while
è la più semplice istruzione iterativa in
awk
. Esegue ripetutamente un’istruzione finché una data
condizione è vera. Per esempio:
while (condizione) corpo-del-ciclo
corpo-del-ciclo è un’istruzione detta corpo del ciclo,
e condizione è un’espressione che controlla per quante volte il ciclo
deve continuare a essere ripetuto.
La prima cosa che l’istruzione while
fa è un controllo della
condizione.
Se la condizione è vera, viene eseguita l’istruzione
corpo-del-ciclo.
Dopo che le istruzioni in corpo-del-ciclo sono state eseguite,
condizione è controllata nuovamente, e se è ancora vera,
corpo-del-ciclo viene eseguito ancora. Questo processo è ripetuto
finché condizione rimane vera. Se la condizione è falsa fin
dall’inizio, il corpo del ciclo
non viene eseguito per nulla, e awk
continua con l’istruzione
che viene dopo il ciclo.
Questo esempio stampa i primi tre campi di ogni record in input, uno per
riga:
awk ' { i = 1 while (i <= 3) { print $i i++ } }' inventory-shipped
Il corpo di questo ciclo è un’istruzione composta racchiusa tra parentesi graffe,
che contiene due istruzioni.
Il ciclo funziona in questo modo: all’inizio, il valore di i
è
impostato a 1.
Poi, l’istruzione while
controlla se i
è minore o uguale a
tre. Ciò è vero quando i
è uguale a 1, quindi il campo
i
-esimo viene stampato. Quindi l’istruzione ‘i++’ incrementa il
valore di i
e il ciclo viene ripetuto. Il ciclo termina quando i
assume il
valore quattro.
Un ritorno a capo non è richiesto tra la condizione e il corpo del ciclo; tuttavia, se lo si mette, il programma è di più facile comprensione, a meno che il corpo del ciclo non sia un’istruzione composta, oppure se è qualcosa di molto semplice. Neppure il ritorno a capo dopo la parentesi graffa aperta che inizia l’istruzione composta è necessario, ma il programma è di lettura più difficile se lo si omette.
Successivo: Istruzione do, Precedente: Istruzione if, Su: Istruzioni [Contenuti][Indice]