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

Cri*_*ian 66 string symbols elisp

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

我无法找到一个symbol-to-string功能或类似的东西.

Tre*_*son 87

尝试使用symbol-name:

(symbol-name 'some-symbol)
Run Code Online (Sandbox Code Playgroud)

  • 反之,`(实习生"some-string")`. (42认同)

Pab*_*dez 5

给定符号名称(字符串),您可以获得符号的值。使用 Trey Jackson 的解决方案:

(setq ASymbol 10)  => 10
(intern "ASymbol")  => 'ASymbol (e.g. the unevaluated symbol with name "ASymbol")
(symbol-value (intern "ASymbol")) => 10
Run Code Online (Sandbox Code Playgroud)

如果您想获取只有名称的符号的值,这非常有用。例如,您从字符串中读取它们。

一些注意事项:intern返回具有给定名称的符号的值。如果不存在具有此类名称的符号,则会创建具有该名称的符号。intern-soft如果给定名称的符号不存在,您可以使用来避免引入新符号。