для
Имя
для — цикл 'For'Синтаксис
для начало проверка шаг телоОписание
Для — это команда цикла, структура которой похожа на оператор for языка C. Аргументы начало, шаг и тело должны быть строками команд Tcl, а проверка — строкой выражения. Команда for сначала вызывает интерпретатор Tcl для выполнения начала. Затем она многократно вычисляет проверку как выражение; если результат отличен от нуля, она вызывает интерпретатор Tcl для тела, затем вызывает интерпретатор Tcl для шага, затем повторяет цикл. Команда завершается, когда проверка вычисляется как 0. Если в теле вызывается команда продолжить, все оставшиеся команды в текущем выполнении тела пропускаются; обработка продолжается вызовом интерпретатора Tcl для шага, затем вычислением проверки и так далее. Если в теле или шаге вызывается команда прервать, то команда for немедленно вернётся. Действие команд прервать и продолжить аналогично соответствующим операторам в C. Для возвращает пустую строку.Примечание: проверка почти всегда должна быть заключена в фигурные скобки. Если этого не сделать, подстановки переменных будут выполнены до начала выполнения команды for, что означает, что изменения переменных, внесённые телом цикла, не будут учтены в выражении. Это может привести к бесконечному циклу. Если проверка заключена в фигурные скобки, подстановки переменных отложены до вычисления выражения (перед каждой итерацией цикла), поэтому изменения переменных будут видны. См. пример ниже:
Примеры
Вывод строки для каждого целого числа от 0 до 9:for {set x 0} {$x<10} {incr x} {
puts "x is $x"
} Цикл будет выполняться бесконечно или вообще не будет выполняться, так как вычисляемое выражение фактически является константой, или даже сгенерирует ошибку! Фактическое поведение будет зависеть от того, существует ли переменная x до запуска команды for и является ли её значение значением, которое меньше или больше или равно десяти, и это происходит потому, что выражение будет заменено до запуска команды for.
for {set x 0} $x<10 {incr x} {
puts "x is $x"
} Вывод степеней двойки от 1 до 1024:
for {set x 1} {$x<=1024} {set x [expr {$x * 2}]} {
puts "x is $x"
} См. также
прервать, продолжить, foreach, while
Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/for.htm
Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/for.htm