for(3tcl)



NAME

   for - 'For' loop

SYNOPSIS

   for start test next body
______________________________________________________________________________

DESCRIPTION

   For  is a looping command, similar in structure to the C for statement.
   The start, next, and body arguments must be Tcl  command  strings,  and
   test  is  an  expression string.  The for command first invokes the Tcl
   interpreter to execute start.  Then it repeatedly evaluates test as  an
   expression; if the result is non-zero it invokes the Tcl interpreter on
   body, then invokes the Tcl interpreter on next, then repeats the  loop.
   The command terminates when test evaluates to 0.  If a continue command
   is invoked within body then  any  remaining  commands  in  the  current
   execution of body are skipped; processing continues by invoking the Tcl
   interpreter on next, then evaluating test,  and  so  on.   If  a  break
   command  is  invoked  within  body  or  next, then the for command will
   return immediately.  The operation of break and continue are similar to
   the corresponding statements in C.  For returns an empty string.

   Note:  test  should  almost  always  be  enclosed  in  braces.  If not,
   variable substitutions will be  made  before  the  for  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.  See below for
   an example:

EXAMPLES

   Print a line for each of the integers from 0 to 9:
          for {set x 0} {$x<10} {incr x} {
             puts "x is $x"
          }

   Either loop infinitely or not  at  all  because  the  expression  being
   evaluated  is  actually  the  constant, or even generate an error!  The
   actual behaviour will depend on whether the variable  x  exists  before
   the  for  command  is run and whether its value is a value that is less
   than or greater than/equal to ten, and this is because  the  expression
   will be substituted before the for command is executed.
          for {set x 0} $x<10 {incr x} {
             puts "x is $x"
          }

   Print out the powers of two from 1 to 1024:
          for {set x 1} {$x<=1024} {set x [expr {$x * 2}]} {
             puts "x is $x"
          }

SEE ALSO

   break, continue, foreach, while

KEYWORDS

   for, iteration, looping




Free and Open Source Software


Free Software Video

Useful Programs

Free Online Courses

Open Opportunity

Open Business