Spec-Zone.ru › Tcl/Tk

while

Имя

while — Выполнить скрипт повторно, пока условие выполняется

Синтаксис

while тест тело

Описание

Команда while оценивает тест как выражение (так же, как команда expr оценивает свой аргумент). Значение выражения должно быть истинным или ложным значением; если это истинное значение, то тело выполняется путём передачи его интерпретатору Tcl. После выполнения тела тест оценивается снова, и этот процесс повторяется, пока тест не примет ложное значение. Команды Continue могут быть выполнены внутри тела для завершения текущей итерации цикла, а команды break могут быть выполнены внутри тела для немедленного завершения команды while. Команда while всегда возвращает пустую строку.

Примечание: тест почти всегда должен быть заключён в фигурные скобки. Если нет, подстановки переменных будут выполнены до начала выполнения команды while, что означает, что изменения переменных, внесённые телом цикла, не будут учтены в выражении. Это может привести к бесконечному циклу. Если тест заключён в фигурные скобки, подстановки переменных откладываются до оценки выражения (перед каждой итерацией цикла), поэтому изменения в переменных будут видны. Для примера попробуйте запустить следующий скрипт с фигурными скобками вокруг $x<10 и без них:

set x 0
while {$x<10} {
    puts "x is $x"
    incr x
}

Пример

Читать строки из канала, пока не достигнем конца потока, и выводить их с номером строки перед ними:
set lineCount 0
while {[gets $chan line] >= 0} {
    puts "[incr lineCount]: $line"
}

См. также

break, continue, for, foreach

Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/while.htm

Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/while.htm

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API