This is the eighth episode of the "Learning Awk" series that b-yeezi and I are doing.
The while
loop: tests a condition and performs commands while the test returns true
The do while
loop: performs commands after the do
, then tests afterwards, repeating the commands while the test is true.
The for
loop (type 1): initialises a variable, performs a test, and increments the variable all together, performing commands while the test is
true.
The for
loop (type 2): sets a variable to successive indices of an array, preforming a collection of commands for each index.
These types of loops were demonstrated by examples in the last episode.
Note that the example for 'do while
' was an infinite loop (perhaps as a test of the alertness of the audience!):
#!/usr/bin/awk -f
BEGIN {
i=2;
do {
print "The square of ", i, " is ", i*i;
i = i + 1
}
while (i != 2)
exit;
}
The condition in the while
is always true:
The square of 2 is 4
The square of 3 is 9
The square of 4 is 16
The square of 5 is 25
The square of 6 is 36
The square of 7 is 49
The square of 8 is 64
The square of 9 is 81
The square of 10 is 100
...
The square of 1269630 is 1611960336900
The square of 1269631 is 1611962876161
The square of 1269632 is 1611965415424
The square of 1269633 is 1611967954689
The square of 1269634 is 1611970493956
...
The variable i
is set to 2, the print
is executed, then i
is set to 3. The test "i != 2
" is true and will be ad infinitum.
We will come back to loops later in this episode, but first this seems like a good point to describe another statement: the switch
statement.
The notes for rest of this episode are available here.
switch
statement:
break
statement:
continue
statement:
next
statement:
Unless otherwise stated, our shows are released under a Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license.
The HPR Website Design is released to the Public Domain.