71 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			3.3 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>
 | ||
| 
 | 
