Successivo: , Precedente: , Su: Istruzioni   [Contenuti][Indice]


7.4.2 L’istruzione 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: , Precedente: , Su: Istruzioni   [Contenuti][Indice]