10.2.2 符号表达式(DONE)

对符号求值时,该符号会被当成变量。如果这个符号的变量部分有值,那么其求值的结果便是该变量部分的值。如果这个符号没有对应的变量值,那么 Lisp 解释器会抛出一个错误。查阅变量章节以获取更多信息。

在下面这个例子中,我们使用 setq 给符号设置一个值。然后,我们对该符号求值,获得其 用 setq 储存的值。

(setq a 123)
     ⇒ 123
(eval 'a)
     ⇒ 123
a
     ⇒ 123

符号 nil 和 t 是两个特例,nil 的值永远是 nil,t 的值永远是 t;你不能将它们和其他的值绑定。因此,这两个符号看起来很像 自求值表达式,甚至 eval 都将它们单独考虑。此外,以":"开头的符号同样为自求值;类似的,它们的值通常也不能改变。查阅 常数变量。

最后更新于