while(3tcl)



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
          }

EXAMPLE

   Read  lines  from  a channel until we get to the end of the stream, and
   print them out with a line-number prepended:
          set lineCount 0
          while {[gets $chan line] >= 0} {
              puts "[incr lineCount]: $line"
          }

SEE ALSO

   break(3tcl), continue(3tcl), for(3tcl), foreach(3tcl)

KEYWORDS

   boolean value, loop, test, while




Free and Open Source Software


Free Software Video

Useful Programs

Free Online Courses

Open Opportunity

Open Business