Set

Материал из Egghelp.ru - TCL/TK Eggdrop Wiki
Версия от 11:51, 14 октября 2008; Deniska (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Команда читает и записывает значения переменных.

СИНТАКСИС

set varName ?value?

ОПИСАНИЕ

Команда set возвращает значение переменной varName. Если задан параметр value, то команда присваивает переменной varName значение value и возвращает значение value. Если такой переменной не существовало, тогда она создается.

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

Обычно имя переменной указывается без указания пространства имен, в котором она содержится. При этом соответствующая переменная для чтения или записи ищется в текущем пространстве имен. Если же в имени переменной присутствуют имя пространства имен, то она ищется в указанном пространстве имен.

Если команда используется вне тела процедуры, то varName есть имя глобальной переменной (если текущее пространство имен есть глобальное пространство) или переменной текущего пространства имен. В теле процедуры varName есть имя параметра или локальной переменной процедуры, если она не объявлена глобальной переменной или переменной пространства имен с помощью команды global или variable соответственно.

Пример

 # Присвоит r случайное число
 set r [expr {rand()}]
 # Присвоит элементу msg массива anAry значение "Привет, Мир!"
 set anAry(msg) "Привет, Мир!"


См. также

  • expr - вычисление значения выражения
  • array - операции с ассоциативными массивами
  • unset - отмена объявления переменной
  • namespace - операции с пространством имен
  • global - объявление переменной, принадлежащей глобальному пространству имен
  • variable - объявление переменной, принадлежащей пользовательскому пространству имен
  • TCL.tk - set