穿过函数向量

时间:2012-09-19 10:43:15

标签: clojure

我有一个函数向量(def my-func [a b c d])。每个函数都将最后一个函数的输出作为输入。我想通过它们来输入一个输入,我该怎么做?

如何访问以下表单(-> in a b c d)

谢谢, 穆尔塔扎

2 个答案:

答案 0 :(得分:5)

我认为您可以使用reduce功能:

(def fns [inc inc inc])
(reduce (fn [v f] (f v)) 10 fns)

答案 1 :(得分:5)

您可以使用comp但请注意它执行从右到左的功能

((comp d c b a) 10)

((apply comp my-fns) 10)

将第10个函数传递给第一个函数,结果传递给下一个函数,依此类推。