55 lines
1.9 KiB
HTML
55 lines
1.9 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
<html>
|
||
<head>
|
||
<title>while</title>
|
||
</head>
|
||
|
||
<body>
|
||
<h1>while</h1>
|
||
|
||
<p>Команда выполняет скрипт до тех пор, пока не будет выполнено
|
||
условие.</p>
|
||
|
||
<h2>СИНТАКСИС</h2>
|
||
|
||
<pre>
|
||
<strong>while</strong> <em>test</em> <em>body</em>
|
||
</pre>
|
||
|
||
<h2>ОПИСАНИЕ</h2>
|
||
|
||
<p>Команда <strong>while</strong> вычисляет значение выражения <em>test</em>
|
||
подобно команде <strong><a href="expr.html">expr</a></strong>. Значение
|
||
должно быть булевого типа. Если результат есть "истина", то
|
||
скрипт <em>body</em> передается на выполнение Tcl
|
||
интерпретатору. После этого выражение <em>test</em> снова
|
||
вычисляется, и процесс повторяется до тех пор, пока его значение
|
||
не станет "ложь". В тексте скрипта <em>body</em> можно
|
||
использовать команду <a href="continue.html"><strong>continue</strong></a>
|
||
для завершения текущего цикла и команду break для немедленного
|
||
завершения команды <strong>while</strong>.</p>
|
||
|
||
<p>Команда <strong>while</strong> всегда возвращает пустую строку.</p>
|
||
|
||
<p>Выражение <em>test</em> почти всегда лучше заключать в фигурные
|
||
скобки, иначе подстановки команд и переменных в нем будут
|
||
выполнены до исполнения команды и никакие изменения значений
|
||
переменных в скрипте body не изменят значения выражения
|
||
test. Это может привести к возникновению бесконечного
|
||
цикла. Если же выражение test помещено в фигурные скобки,
|
||
подстановки в нем выполняются при каждом вычислении (перед
|
||
каждым выполнением body). Например, если выполнить следующий
|
||
скрипт с и без скобок вокруг <strong>$x<10</strong>, то без скобок
|
||
возникнет бесконечный цикл.</p>
|
||
|
||
<h2>ПРИМЕР</h2>
|
||
|
||
<pre>
|
||
while {$x < 10} {
|
||
puts "x is $x"
|
||
incr x
|
||
}
|
||
</pre>
|
||
</body>
|
||
</html>
|