UR4QTP: записная книжка 

Программирование на Tcl/Tk. Мой конспект

Команда proc. Процедуры

Команда proc

Формат команды:

proc имя <параметры> <тело>

Параметры служат для передачи в процедуру значений входных переменных.

Тело процедуры может содержать команды. Процедура возвращает значение, которое возвращает последняя команда, выполненная в теле процедуры.

Фактически определённая процедура – это ещё одна команда интерпретатора Tcl, только уже добавленная пользователем.


Процедуры. Совместимость с именами переменных

Имя процедуры может содержать те же символы, что и имя переменной. Имя процедуры может совпадать с именем переменной, они будут сосуществовать без конфликтов.


Процедуры. Видимость переменных

Определённые в теле процедуры переменные являются локальными, т. е. вне процедуры их значение не определено (если они не были определены вне процедуры ранее).


Процедуры. Передача параметров

Передаваемые процедуре параметры, даже если параметр один, предпочтительно сгруппировать при помощи фигурных скобок, чтобы избежать подстановок переменных до того, как процедура будет вызвана, иначе это произойдёт в момент определения процедуры. Та же ситуация и с телом процедуры.


Процедуры. Параметры по умолчанию

В процедуре можно определить значения входных переменных по умолчанию. В таком случае при вызове процедуры эти переменные можно не указывать. Переменная и её значение по умолчанию группируются в один параметр при помощи фигурных скобок.


Процедуры. Произвольное число параметров

Если число параметров, которые должны быть переданы процедуре, заранее не известно, при описании процедуры можно применить ключевое слово args в качестве последнего параметра. В этом случае после вызова процедуры args будет содержать список всех остальных параметров, которые остались после присвоения указанным перед ним в списке переменным.


Процедура должна быть определена до своего первого вызова, иначе интерпретатор будет возмущён встретившейся ему неизвестной командой.



 UR4QTP: записная книжка