2

在以下 Lisp REPL 交互中:

CL-USER> (defparameter *unison* 0)
*UNISON*
CL-USER> (member *unison* '(*unison*))
NIL

为什么返回零?

4

1 回答 1

5

因为*unison*变量绑定到0,并且列表只有一个*unison*符号,因为它被引用了。试试这个比较:

(member *unison* (list *unison*))

这实际上将评估*unison*返回的第二个0,从而产生一个(0)列表。

于 2010-05-27T00:52:14.563 回答