Команда for организует цикл.
for start test next body
Команда for является командой цикла. По структуре команда for похожа на аналогичную команду языка С. Здесь аргументы start, next и body должны быть командными строками Tcl, а test - строкой выражения. Сначала команда for запускает интерпретатор Tcl для выполнения start. Затем она вычисляет значение выражения test; если оно не равно нулю, то запускает Tcl-интерпретатор для выполнения body, затем next. Цикл повторяется до тех пор, пока test не станет равно 0. Если при выполнении body будет выполнена команда continue, то последующие команды в body пропускаются и начинает выполняться next, затем test и т.д. Если при исполнении body или next встретится команда break, исполнение команды for немедленно прекращается. Команда for возвращает пустую строку.
Замечание. Строку test почти всегда следует помещать в фигурные скобки. В противном случае подстановки переменных будут выполнены до выполнения команды. Из-за этого измененное в ходе цикла значение переменной может перестать передаваться в выражение, что может породить бесконечный цикл. Если же строка test заключена в фигурные скобки, подстановка значения переменных выполняется в каждом цикле. Для примера можно выполнить следующий скрипт со скобками и без скобок вокруг выражения $x<10:
for {set x 0} {$x<10} {incr x} { puts "x is $x" }