while

Команда выполняет скрипт до тех пор, пока не будет выполнено условие.

СИНТАКСИС

      while test body
    

ОПИСАНИЕ

Команда while вычисляет значение выражения test подобно команде expr. Значение должно быть булевого типа. Если результат есть "истина", то скрипт body передается на выполнение Tcl интерпретатору. После этого выражение test снова вычисляется, и процесс повторяется до тех пор, пока его значение не станет "ложь". В тексте скрипта body можно использовать команду continue для завершения текущего цикла и команду break для немедленного завершения команды while.

Команда while всегда возвращает пустую строку.

Выражение test почти всегда лучше заключать в фигурные скобки, иначе подстановки команд и переменных в нем будут выполнены до исполнения команды и никакие изменения значений переменных в скрипте body не изменят значения выражения test. Это может привести к возникновению бесконечного цикла. Если же выражение test помещено в фигурные скобки, подстановки в нем выполняются при каждом вычислении (перед каждым выполнением body). Например, если выполнить следующий скрипт с и без скобок вокруг $x<10, то без скобок возникнет бесконечный цикл.

ПРИМЕР

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