在Elisp中将符号转换为字符串

时间:2011-01-10 20:37:41

标签: string elisp symbols

如何在Emacs lisp中将符号类型转换为字符串?

我无法找到symbol-to-string函数或任何类似函数。

2 个答案:

答案 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来避免引入新符号。