Successivo: Istruzione while, Su: Istruzioni [Contenuti][Indice]
if-elseL’istruzione if-else è quella che serve in awk
per prendere decisioni. È simile
a questa:
if (condizione) se-vera-fai[else se-falsa-fai]
La condizione è un’espressione che controlla quel che fa il resto
dell’istruzione. Se la condizione è vera, viene eseguita la
parte se-vera-fai; altrimenti viene
eseguita la parte se-falsa-fai.
La parte else dell’istruzione è
opzionale. La condizione è considerata falsa se il suo valore è zero o
la stringa nulla; altrimenti, la condizione è vera.
Si consideri quanto segue:
if (x % 2 == 0)
print "x è pari"
else
print "x è dispari"
In questo esempio, se l’espressione ‘x % 2 == 0’ è vera (cioè,
se il valore di x è esattamente divisibile per due), allora viene
eseguita la prima istruzione
print; altrimenti, viene eseguita la seconda istruzione print.
Se la parola chiave else sta sulla stessa riga di se-vera-fai
e se se-vera-fai non è un’istruzione composta (cioè, non è racchiusa
tra parentesi graffe), allora un punto e virgola deve separare
se-vera-fai dalla parola chiave else.
Per chiarire questo, l’esempio precedente si può riscrivere come:
if (x % 2 == 0) print "x è pari"; else
print "x è dispari"
Se il ‘;’ è omesso, awk non può interpretare l’istruzione e
segnala un errore di sintassi. Non si dovrebbero scrivere programmi in
questo modo, perché a chi li legge potrebbe sfuggire la parola chiave
else se non è la prima parola della riga.