72 lines
5.2 KiB
HTML
72 lines
5.2 KiB
HTML
<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
|
||
<html>
|
||
<head>
|
||
<title>proc</title>
|
||
</head>
|
||
|
||
<body>
|
||
<h1>proc</h1>
|
||
|
||
<p>Создает Tcl-процедуры.</p>
|
||
|
||
<h2>СИНТАКСИС</h2>
|
||
|
||
<pre>
|
||
<strong>proc</strong> <em>name</em> <em>args</em> <em>body</em>
|
||
</pre>
|
||
|
||
<h2>ОПИСАНИЕ</h2>
|
||
|
||
<p>Команда <strong>proc</strong> создает новую Tcl-процедуру с именем
|
||
<em>name</em>, если такой процедуры ранее не было, и замещает
|
||
ранее существовавшую процедуру или команду с таким именем, если
|
||
она была. При вызове новой процедуры скрипт <em>body</em>
|
||
передается на выполнение Tcl-интерпретатору. Обычно имя
|
||
процедуры указывается без указания имени пространства имен. При
|
||
этом новая процедура создается в текущем пространстве
|
||
имен. Однако, если пространство имен указано явно, она создается
|
||
в указанном пространстве. Аргумент <em>args</em> определяет
|
||
формальные аргументы процедуры и представляет собой список
|
||
(возможно, пустой), каждый элемент которого представляет
|
||
описание одного формального параметра. Каждое такое описание
|
||
само является списком из одного или двух элементов. Первый
|
||
элемент списка определяет имя формального параметра. Второй
|
||
элемент списка, если он указан, определяет значение по умолчанию
|
||
для данного параметра.</p>
|
||
|
||
<p>При выполнении процедуры для каждого формального параметра
|
||
создается локальная переменная. Ей присваивается значение
|
||
соответствующего аргумента, указанного при вызове процедуры, или
|
||
значение по умолчанию. Аргумент, для которого при определении
|
||
процедуры указано значение по умолчанию, может не присутствовать
|
||
в вызове процедуры. Однако общее количество указанных параметров
|
||
должно быть достаточным для аргументов, не имеющих значения по
|
||
умолчанию, но не больше общего числа формальных параметров. Если
|
||
это условие выполнено, все аргументы процедуры собираются в один
|
||
список (как при исполнении команды <a
|
||
href=list.html><strong>list</strong></a>). Эта комбинированная величина
|
||
присваивается локальной переменной <em>args</em>.</p>
|
||
|
||
<p>При исполнении тела процедуры имена переменных обычно считаются
|
||
именами локальных переменных, которые создаются автоматически по
|
||
мере необходимости и удаляются после завершения процедуры. По
|
||
одной локальной переменной создается также для каждого аргумента
|
||
процедуры. Для использования глобальных переменных необходимо
|
||
использовать команду <a href=global.html><strong>global</strong></a> или
|
||
<a href=upvar.html><strong>upvar</strong></a>. Для использования
|
||
переменных из пространства имен необходимо использовать команду
|
||
<a href= variable.html><strong>variable</strong></a> или
|
||
<a href=upvar.html><strong>upvar</strong></a>.</p>
|
||
|
||
<p>Команда <strong>proc</strong> возвращает пустую строку. При вызове
|
||
процедуры возвращается величина, заданная в команде <a href=
|
||
return.html><strong>return</strong></a>. Если в процедуре не выполнялась
|
||
явная команда <strong>return</strong>, она возвращает результат выполнения
|
||
последней команды, выполнявшейся в теле процедуры. Если при
|
||
выполнении процедуры произошла ошибка, то процедура в целом
|
||
возвращает эту ошибку.</p>
|
||
</body>
|
||
</html>
|
||
|
||
|