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)))