如何在Emacs lisp中将符号类型转换为字符串?
我无法找到symbol-to-string
函数或任何类似函数。
答案 0 :(得分:85)
尝试使用symbol-name
:
(symbol-name 'some-symbol)
答案 1 :(得分:2)
给定符号名称(字符串),您可以获取符号的值。使用Trey Jackson的解决方案:
(setq ASymbol 10) => 10
(intern "ASymbol") => 'ASymbol (e.g. the unevaluated symbol with name "ASymbol")
(symbol-value (intern "ASymbol")) => 10
如果您想获取只有名称的符号值,这非常有用。例如,您从字符串中读取它们。
一些注释:intern
返回具有给定名称的符号的值。如果不存在具有此名称的符号,则会创建具有该名称的符号。如果不存在具有给定名称的符号,则可以使用intern-soft
来避免引入新符号。