<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
<html>
  <head>
    <title>for</title>
  </head>

  <body>
    <h1>for</h1>

    <p> Команда <strong>for</strong> организует цикл. </p>

    <h2>СИНТАКСИС</h2> 

    <pre>
      <strong>for</strong> <em>start</em> <em>test</em> <em>next</em> <em>body</em>
    </pre>

    <h2>ОПИСАНИЕ</h2> 

    <p> Команда <strong>for</strong> является командой цикла. По структуре
      команда <strong>for</strong> похожа на аналогичную команду языка С.  Здесь
      аргументы <em>start, next</em> и <em>body</em> должны быть
      командными строками Tcl, а <em>test</em> - строкой выражения.
      Сначала команда <strong>for</strong> запускает интерпретатор Tcl для
      выполнения <em>start</em>. Затем она вычисляет значение выражения
      <em>test</em>; если оно не равно нулю, то запускает
      Tcl-интерпретатор для выполнения <em>body</em>, затем
      <em>next</em>. Цикл повторяется до тех пор, пока <em>test</em> не
      станет равно 0. Если при выполнении <em>body</em> будет выполнена
      команда <a href=continue.html><strong>continue</strong></a>, то
      последующие команды в <em>body</em> пропускаются и начинает
      выполняться <em>next</em>, затем <em>test</em> и т.д. Если при
      исполнении <em>body</em> или <em>next</em> встретится команда
      <a href=break.html><strong>break</strong></a>, исполнение команды
      <strong>for</strong> немедленно прекращается. Команда <strong>for</strong>
      возвращает пустую строку.
    </p>

    <p> <strong>Замечание</strong>. Строку <em>test</em> почти всегда следует
      помещать в фигурные скобки. В противном случае подстановки
      переменных будут выполнены до выполнения команды. Из-за этого
      измененное в ходе цикла значение переменной может перестать
      передаваться в выражение, что может породить бесконечный
      цикл. Если же строка <em>test</em> заключена в фигурные скобки,
      подстановка значения переменных выполняется в каждом цикле.  Для
      примера можно выполнить следующий скрипт со скобками и без
      скобок вокруг выражения <strong>&lt;10</strong>:
    </p>
    <pre>
      for {set x 0} {&lt;10} {incr x} { 
        puts &quot;x is &quot;
      }
    </pre>
  </body>
</html>