clojure - 在 Clojure 中将单参数函数合并为多参数函数

标签 clojure function-composition

我想知道 Clojure 中是否有一种习惯用法,可以将多个单参数函数组合成一个接受向量的新函数。新函数应将第一个函数应用于第一个参数,依此类推。

我认为这在很多情况下都很有用。例如,您可能希望使用更简单的一维函数来转换点的 x、y 和 z 坐标。

我会自己实现如下,但恐怕标准 API 中应该已经存在类似的东西。

(defn vector-comp [& fns]
  (fn [avect]
    (vec (map #(%1 %2) fns avect))))

最佳答案

关于clojure - 在 Clojure 中将单参数函数合并为多参数函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10335766/

相关文章:

clojure - 如何从 lein repl 中删除函数?

emacs - clojure swank 服务器打开公共(public)端口?

clojure - 如何修复错误 "Deleting non-target project paths ["test-app/renderer/renderer.js%s"] is not allowed."when clean my project?

scala - (如何)你能 curry 组成一元函数吗?

scala - scala中函数组合顺序的编译时约束

clojure - 如何使 clojure 程序结构更容易识别?

recursion - 在 Clojure 函数中出现堆栈溢出。

arguments - block 的内部是否可以知道它接收到的选择器并据此评估自己?

scala - Scala 中函数组合的简洁语法?

Haskell 函数组合错误