【发布时间】:2011-03-15 07:46:13
【问题描述】:
在 Common Lisp 中,您使用 (null x) 函数来检查空列表和 nil 值。
从逻辑上讲,这映射到
(or (nil? x) (= '() x))
在clojure中。有人可以建议在 Clojure 中使用更惯用的方法吗?
【问题讨论】:
-
在 Lisp 中,
NIL和()(空列表)是一回事。您的代码 sn-p 是一个 pleonasm。 -
不在 Clojure 中:
(= '() nil) => false。在其他 Lisp 中,这是真的。 -
Svante:你的说法在 Clojure 中可能不是真的,但我有一个新的喜欢的词。
-
没有空?在 CL 中,只有 null(和 endp)。
标签: clojure lisp common-lisp idioms