Set — различия между версиями
Deniska (обсуждение | вклад) (Новая: Команда читает и записывает значения переменных. '''СИНТАКСИС''' set ''varName ?value?'' '''ОПИСАНИЕ''' Команда...) |
Deniska (обсуждение | вклад) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 14: | Строка 14: | ||
Если команда используется вне тела процедуры, то '''varName''' есть имя глобальной переменной (если текущее пространство имен есть глобальное пространство) или переменной текущего пространства имен. В теле процедуры '''varName''' есть имя параметра или локальной переменной процедуры, если она не объявлена глобальной переменной или переменной пространства имен с помощью команды [[global]] или [[variable]] соответственно. | Если команда используется вне тела процедуры, то '''varName''' есть имя глобальной переменной (если текущее пространство имен есть глобальное пространство) или переменной текущего пространства имен. В теле процедуры '''varName''' есть имя параметра или локальной переменной процедуры, если она не объявлена глобальной переменной или переменной пространства имен с помощью команды [[global]] или [[variable]] соответственно. | ||
+ | |||
+ | == Пример == | ||
+ | # Присвоит r случайное число | ||
+ | set r [expr {rand()}] | ||
+ | # Присвоит элементу msg массива anAry значение "Привет, Мир!" | ||
+ | set anAry(msg) "Привет, Мир!" | ||
+ | |||
== См. также == | == См. также == | ||
− | * [[ | + | * [[expr]] - вычисление значения выражения |
+ | * [[array]] - операции с ассоциативными массивами | ||
+ | * [[unset]] - отмена объявления переменной | ||
* [[namespace]] - операции с пространством имен | * [[namespace]] - операции с пространством имен | ||
* [[global]] - объявление переменной, принадлежащей глобальному пространству имен | * [[global]] - объявление переменной, принадлежащей глобальному пространству имен |
Текущая версия на 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