aboutsummaryrefslogtreecommitdiff
path: root/pkg/language/doc/for.hlp
blob: 0897f1a7571973c158838f75395fb9a4d0e7745e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
.help for Feb86 language
.ih
NAME
for -- FOR statement
.ih
SYNTAX
for ([assign1] ; [bool_expr] ; [assign2]) statement
.ih
ELEMENTS
.ls assign1
An assignment used to initialize the \fIfor\fR loop.
.le
.ls bool_expr
A boolean valued expression tested before each iteration.
.le
.ls assign2
An assignment executed after each iteration of the loop.
.le
.ls statement
A statement (possibly compound, i.e., enclosed in curly brackets)
to be executed in each iteration of the loop.
.le
.ih
DESCRIPTION
The \fIfor\fR statement provides a looping mechanism similar to the C-language
for loop.  \fIAssign1\fR and \fIassign2\fR are assignment statements using
one of the operators '=', '+=', '-=', '/=', '*='.  Any of the elements of
the \fIfor\fR loop may be omitted, except the parenthesis and colon field
delimiters.
.ih
EXAMPLES
1. For I equals zero to 10 in steps of 2, increment TOTAL by the value of
array element I.

.nf
	for (i=0;  i <= 10;  i += 2)
	    total += array[i]
.fi

2. Print the first eight powers of two.

.nf
	j = 1
	for (i=1;  i <= 8;  i += 1) {
	     print (i, j)
	     j *= 2
	}
.fi
.ih
BUGS
A simple assignment of the form i++ will not work.
Only one assignment statement is permitted in the first and third fields.
.ih
SEE ALSO
while, case, break, next
.endhelp