在 Emacs Lisp 中,一个符号可以附加一个值,就像它可以附加一个函数定义一样。这两者是不同的。函数定义是计算机将执行的一组指令。值,另一方面,是一些可以变化的东西,比如一个数字或一个名称(这就是为什么这样的符号被称为变量的原因)。一个符号的值可以是Lisp中的任何表达式,比如一个符号、数字、列表或字符串。一个具有值的符号通常被称为变量。
一个符号可以同时有一个函数定义和一个值。或者它可以只有其中之一。这两者是独立的。这与剑桥这个名称既可以指代马萨诸塞州的城市,又可以附带一些信息,比如“伟大的编程中心”,有些相似。
另一种思考这个问题的方式是将一个符号想象成一个抽屉柜。函数定义放在一个抽屉里,值放在另一个抽屉里,依此类推。在值的抽屉里放置的东西可以更改,而不影响放置函数定义的抽屉的内容,反之亦然。