相当于每个pred,但对于任何给定的谓词

时间:2013-06-23 10:46:55

标签: clojure

任何可行的表达方式?

#(or (:a %) (b: %) (:c %)) ;; would prefer (desired-fn :a :b :c)

clojure.core缺少“any-pred”功能,可能是因为已经有提供相同功能的方法?或者自己会有一个实现它?

1 个答案:

答案 0 :(得分:6)

some-fn正是您要找的。唯一的区别是some-fn在没有任何函数返回逻辑真值的情况下将返回false而不是nil

正如关于命名的注释:它不被称为“some-pred”/“any-pred”,因为谓词只返回truefalse,而some-fn将返回第一个逻辑上的真值(可能不是true本身)。