我有一个函数向量(def my-func [a b c d])
。每个函数都将最后一个函数的输出作为输入。我想通过它们来输入一个输入,我该怎么做?
如何访问以下表单(-> in a b c d)
?
谢谢, 穆尔塔扎
答案 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个函数传递给第一个函数,结果传递给下一个函数,依此类推。