Set — различия между версиями

Материал из Egghelp.ru - TCL/TK Eggdrop Wiki
Перейти к: навигация, поиск
(См. также)
 
Строка 14: Строка 14:
  
 
Если команда используется вне тела процедуры, то '''varName''' есть имя глобальной переменной (если текущее пространство имен есть глобальное пространство) или переменной текущего пространства имен. В теле процедуры '''varName''' есть имя параметра или локальной переменной процедуры, если она не объявлена глобальной переменной или переменной пространства имен с помощью команды [[global]] или [[variable]] соответственно.
 
Если команда используется вне тела процедуры, то '''varName''' есть имя глобальной переменной (если текущее пространство имен есть глобальное пространство) или переменной текущего пространства имен. В теле процедуры '''varName''' есть имя параметра или локальной переменной процедуры, если она не объявлена глобальной переменной или переменной пространства имен с помощью команды [[global]] или [[variable]] соответственно.
 +
 +
== Пример ==
 +
  # Присвоит r случайное число
 +
  set r [expr {rand()}]
 +
  # Присвоит элементу msg массива anAry значение "Привет, Мир!"
 +
  set anAry(msg) "Привет, Мир!"
 +
  
 
== См. также ==
 
== См. также ==
 +
* [[expr]] - вычисление значения выражения
 +
* [[array]] - операции с ассоциативными массивами
 
* [[unset]] - отмена объявления переменной
 
* [[unset]] - отмена объявления переменной
 
* [[namespace]] - операции с пространством имен
 
* [[namespace]] - операции с пространством имен

Текущая версия на 11:51, 14 октября 2008

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

СИНТАКСИС

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