任何可行的表达方式?
#(or (:a %) (b: %) (:c %)) ;; would prefer (desired-fn :a :b :c)
clojure.core缺少“any-pred”功能,可能是因为已经有提供相同功能的方法?或者自己会有一个实现它?
答案 0 :(得分:6)
some-fn
正是您要找的。唯一的区别是some-fn
在没有任何函数返回逻辑真值的情况下将返回false
而不是nil
。
正如关于命名的注释:它不被称为“some-pred”/“any-pred”,因为谓词只返回true
或false
,而some-fn
将返回第一个逻辑上的真值(可能不是true
本身)。