当然我是新手,但为什么不返回T
?
(eql (third '(0 1 'to 0 1)) 'to)
==> nil
但这确实会返回引用的'to
。
(third '(0 1 'to 0 1))
'TO
正如您可能猜到的那样,所有比较表单都不起作用,eq
,eql
,equal
,equalp
。
答案 0 :(得分:8)
因为
'TO
不是EQL
TO
第一个是包含两个符号作为元素的列表。它实际上是(QUOTE TO)
。
第二个只是一个符号。
? (EQL ''TO 'TO)
NIL
请参阅:
? (equal (third '(0 1 'to 0 1)) ''TO)
T
您尝试在文字列表中引用符号,这通常没有意义,因为文字列表不在内部进行评估。