Clojure: проверка каждого значения из операции карты на правду - PullRequest
4 голосов
/ 31 декабря 2010

Как проверить, что каждое значение в коллекции, возвращаемое map, истинно?

Я использую следующее:

(defn test [f coll]
  (every? #(identity %) (map f coll)))

с анонимной функцией #(identity %),но мне было интересно, если есть лучший способ.

Я не могу использовать (apply and ...), потому что and является макросом.

ОБНОВЛЕНИЕ : Кстати, я делаюмой путь через Дорога Хаскелла к логике, математике и программированию , Kees Doets и Jan can Eijck, но выполняющих упражнения в Clojure.Это очень интересная книга.

Ответы [ 2 ]

5 голосов
/ 01 января 2011

либо

(every? identity (map f coll)) 

или

(every? f coll)
4 голосов
/ 31 декабря 2010

Вы можете сделать:

(every? true? coll)
...