<!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><10</strong>: </p> <pre> for {set x 0} {<10} {incr x} { puts "x is " } </pre> </body> </html>