variable

Команда создает и запускает переменные области имен.

СИНТАКСИС

      variable ?name value? name ?value?
    

ОПИСАНИЕ

Обычно команду variable выполняют внутри команды namespace eval для создания одной или нескольких переменных в области имен. Каждая переменная name получает начальное значение value. Значение для последней переменной можно не указывать.

Если переменная name не существует, она будет создана. Если указан аргумент value, то переменной присвоится его значение. Если аргумент не указан, то новая переменная останется неопределенной. Если же переменная уже существовала, она сохранит свое значение. Обычно имя создаваемой переменной - это простое имя, не содержащее имя пространств имен. Соответственно переменная создается в текущем пространстве имен. Если имя содержит имена пространств имен, переменная создается в указанном пространстве имен.

Если команда variable выполняется внутри Tcl процедуры, она создает локальную переменную, связанную с соответствующей переменной пространства имен. В этом случае команда variable напоминает команду global, которая, однако, только связывает локальную переменную с глобальной. Если аргумент value задан, то он используется для изменения значения соответствующей переменной в пространстве имен. Если переменная в пространстве имен не существует, она создается и, при необходимости, инициализируется.

Параметр name не может указывать на элемент массива. В команде variable можно указать только массив в целом, а затем присвоить значения его элементам командами set или array.