Spec-Zone.ru › Elisp

Доступ к значениям переменных

Обычный способ ссылки на переменную — это написание символа, который ее именует. См. Формы символов.

Иногда вам может потребоваться сослаться на переменную, значение которой определяется только во время выполнения. В этом случае вы не можете указать имя переменной в тексте программы. Вы можете использовать функцию symbol-value для извлечения значения.

Функция: symbol-value symbol

Эта функция возвращает значение, хранящееся в ячейке значения symbol. Именно здесь хранится текущее (динамическое) значение переменной. Если переменная не имеет локального связывания, это просто ее глобальное значение. Если переменная пуста, сигнализируется ошибка void-variable.

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

(setq abracadabra 5)
     ⇒ 5
(setq foo 9)
     ⇒ 9
;; Here the symbol abracadabra
;;   is the symbol whose value is examined.
(let ((abracadabra 'foo))
  (symbol-value 'abracadabra))
     ⇒ foo
;; Here, the value of abracadabra,
;;   which is foo,
;;   is the symbol whose value is examined.
(let ((abracadabra 'foo))
  (symbol-value abracadabra))
     ⇒ 9
(symbol-value 'abracadabra)
     ⇒ 5

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Accessing-Variables.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API