For

Материал из Egghelp.ru - TCL/TK Eggdrop Wiki
Перейти к: навигация, поиск

Команда 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"
 }

См. также