【发布时间】:2014-07-10 03:29:46
【问题描述】:
对于下面,为什么最后一个返回零?函数“some”不适用于列表列表?
(some #(= % 1) '(1 3) ) ; ==> true
(some #(= % '(1 3)) ['(1 3) '(1 2 3)] ) ; ==> true
(some #(= % '(1 3)) '('(1 3) '(1 2 3)) ) ;==> nil
【问题讨论】:
-
'(1 3) =/= '(quote (1 3))
-
看看Replace elements in nested quoted lists adds new elements?。在那种情况下,症状是不同的,但
'(... '(...) ...)的含义的解释是您需要的,它包含在其中。 -
另外,试试(注意双引号):
(some #(= % ''(1 3)) '('(1 3) '(1 2 3))).