在Clojure中测试列表是否包含给定值的最佳方法是什么?
特别是,contains?的行为目前让我感到困惑:
(contains? '(100 101 102) 101) => false我显然可以编写一个简单的函数来遍历列表并测试相等性,但肯定有一种标准的方法来做到这一点?
发布于 2014-04-05 19:34:13
下面是经典的Lisp解决方案:
(defn member? [list elt]
"True if list contains at least one instance of elt"
(cond
(empty? list) false
(= (first list) elt) true
true (recur (rest list) elt)))https://stackoverflow.com/questions/3249334
复制相似问题