Доступ к значениям переменных
Обычный способ ссылки на переменную — это написание символа, который ее именует. См. Формы символов.
Иногда вам может потребоваться сослаться на переменную, значение которой определяется только во время выполнения. В этом случае вы не можете указать имя переменной в тексте программы. Вы можете использовать функцию 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 isfoo, ;; 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