while(n) Tcl while(n)
_________________________________________________________________
NAME
while - Execute script repeatedly as long as a condition is
met
SYNOPSIS
while test body
_________________________________________________________________
DESCRIPTION
The while command evaluates test as an expression (in the
same way that expr evaluates its argument). The value of
the expression must a proper boolean value; if it is a true
value then body is executed by passing it to the Tcl
interpreter. Once body has been executed then test is
evaluated again, and the process repeats until eventually
test evaluates to a false boolean value. Continue commands
may be executed inside body to terminate the current
iteration of the loop, and break commands may be executed
inside body to cause immediate termination of the while
command. The while command always returns an empty string.
Note: test should almost always be enclosed in braces. If
not, variable substitutions will be made before the while
command starts executing, which means that variable changes
made by the loop body will not be considered in the
expression. This is likely to result in an infinite loop.
If test is enclosed in braces, variable substitutions are
delayed until the expression is evaluated (before each loop
iteration), so changes in the variables will be visible.
For an example, try the following script with and without
the braces around $x<10:
set x 0
while {$x<10} {
puts "x is $x"
incr x
}
KEYWORDS
boolean value, loop, test, while
Page 1 (printed 2/19/99)