projman/hlp/ru/tcl/while.html
2018-02-05 17:23:37 +03:00

56 lines
2.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>. Значение
должно быть булевого типа. Если результат есть &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>
<p>Команда <strong>while</strong> всегда возвращает пустую строку.</p>
<p>Выражение <em>test</em> почти всегда лучше заключать в фигурные
скобки, иначе подстановки команд и переменных в нем будут
выполнены до исполнения команды и никакие изменения значений
переменных в скрипте body не изменят значения выражения
test. Это может привести к возникновению бесконечного
цикла. Если же выражение test помещено в фигурные скобки,
подстановки в нем выполняются при каждом вычислении (перед
каждым выполнением body). Например, если выполнить следующий
скрипт с и без скобок вокруг <strong>&lt;10</strong>, то без скобок
возникнет бесконечный цикл.</p>
<h2>ПРИМЕР</h2>
<pre>
while { &lt; 10} {
puts x is
incr x
}
</pre>
</body>
</html>