Clojure 多参数的'some fn'变体
我发现自己需要一个类似于Clojure 多参数的'some fn'变体,clojure,Clojure,我发现自己需要一个类似于某些fn的函数,但它结合了带多个参数的谓词 新函数应该使用一组谓词并返回一个函数f。函数f应返回其组合谓词之一返回的第一个逻辑真值,该谓词应用于所有f的参数,否则返回逻辑假值。所以我应该能够做到这一点: ((some-fn* < >) 1 2) => truthy ((some-fn* < >) 1 1) => falsey 但似乎clojure.core中已经存在这样一个简单的东西。是吗?或者有没有更简单的方法来实现我的需求?您可
某些fn
的函数,但它结合了带多个参数的谓词
新函数应该使用一组谓词并返回一个函数f
。函数f
应返回其组合谓词之一返回的第一个逻辑真值,该谓词应用于所有f
的参数,否则返回逻辑假值。所以我应该能够做到这一点:
((some-fn* < >) 1 2)
=> truthy
((some-fn* < >) 1 1)
=> falsey
但似乎clojure.core中已经存在这样一个简单的东西。是吗?或者有没有更简单的方法来实现我的需求?您可以使用
一些:
(defn some-fn* [& ps]
(fn [& args]
(some #(apply % args) ps)))
(defn some-fn* [& ps]
(fn [& args]
(some #(apply % args) ps)))