projman/hlp/ru/tcl/while.html

56 lines
2.7 KiB
HTML
Raw Normal View History

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