Учитывая имя символа (строку), вы можете получить значение символа.Используя решение Трея Джексона:
(setq ASymbol 10) => 10
(intern "ASymbol") => 'ASymbol (e.g. the unevaluated symbol with name "ASymbol")
(symbol-value (intern "ASymbol")) => 10
Это полезно, если вы хотите получить значения символов, для которых у вас есть только имена.Например, вы читаете их из строки.
Несколько замечаний: intern
возвращает значение символа с заданным именем.Если символа с таким именем не существует, он создает символ с таким именем.Вы можете использовать intern-soft
, чтобы не вводить новый символ, если его с таким именем не существует.