Next: Next Statement, Previous: Break Statement, Up: Statements [Contents][Index]
continue StatementSimilar to break, the continue statement is used only inside
for, while, and do loops.  It skips
over the rest of the loop body, causing the next cycle around the loop
to begin immediately.  Contrast this with break, which jumps out
of the loop altogether.
The continue statement in a for loop directs awk to
skip the rest of the body of the loop and resume execution with the
increment-expression of the for statement.  The following program
illustrates this fact:
BEGIN {
     for (x = 0; x <= 20; x++) {
         if (x == 5)
             continue
         printf "%d ", x
     }
     print ""
}
This program prints all the numbers from 0 to 20—except for 5, for
which the printf is skipped.  Because the increment ‘x++’
is not skipped, x does not remain stuck at 5.  Contrast the
for loop from the previous example with the following while loop:
BEGIN {
     x = 0
     while (x <= 20) {
         if (x == 5)
             continue
         printf "%d ", x
         x++
     }
     print ""
}
This program loops forever once x reaches 5, because
the increment (‘x++’) is never reached.
The continue statement has no special meaning with respect to the
switch statement, nor does it have any meaning when used outside the
body of a loop.  Historical versions of awk treated a continue
statement outside a loop the same way they treated a break
statement outside a loop: as if it were a next
statement
(see section The next Statement).
(d.c.)
Recent versions of BWK awk no longer work this way, nor
does gawk.
Next: Next Statement, Previous: Break Statement, Up: Statements [Contents][Index]