我想知道 Clojure 中是否有将多个单参数函数组合成一个接受向量的新函数的习语。新函数应该将第一个函数应用于第一个参数,依此类推。
我认为这在许多情况下都很有用。例如,您可能希望使用更简单的一维函数来变换点的 x、y 和 z 坐标。
我将自己实现如下,但恐怕它应该已经存在于标准 API 中。
(defn vector-comp [& fns]
(fn [avect]
(vec (map #(%1 %2) fns avect))))
我想知道 Clojure 中是否有将多个单参数函数组合成一个接受向量的新函数的习语。新函数应该将第一个函数应用于第一个参数,依此类推。
我认为这在许多情况下都很有用。例如,您可能希望使用更简单的一维函数来变换点的 x、y 和 z 坐标。
我将自己实现如下,但恐怕它应该已经存在于标准 API 中。
(defn vector-comp [& fns]
(fn [avect]
(vec (map #(%1 %2) fns avect))))