在Common Lisp(SBCL)中,有没有办法检查原子的各个部分?

kac*_*ous 2 sbcl common-lisp

例如,如果我有原子'ABCD,有没有办法确定构成原子的各个字符?

Sva*_*nte 11

那些字符不是"构成原子"(原子是不同的东西;粗略地"不是列表").

你有什么象征.符号有一个名称,通过它可以引用它.您可以使用以下函数获取符号的名称symbol-name:

CL-USER > (symbol-name 'ABCD)
=> "ABCD"
Run Code Online (Sandbox Code Playgroud)

(注意,这两个symbol-nameABCD表示符号,但symbol-name被评估,而ABCD不是由于报价-上述被读出一样(symbol-name (quote ABCD)).)

符号也有其他属性,您可以通过该功能得到symbol-package,symbol-plist,symbol-value,或symbol-function.

有关概述,请查看Hyperspec的第10章.