5

関数のベクトルがあります(def my-func [a b c d])。各関数は、最後の関数の出力を入力として受け取ります。それらを介して入力をスレッド化したいのですが、どうすればよいですか?

次のフォームにアクセスするにはどうすればよい(-> in a b c d)ですか?

ありがとう、ムルタザ

4

2 に答える 2

6

使用できますcompが、機能を右から左に実行することに注意してください

((comp d c b a) 10)

また

((apply comp my-fns) 10)

最初の関数に 10 を渡し、結果を次の関数に渡します。

于 2012-09-19T17:37:52.623 に答える
5

私はあなたがreduce関数を使うことができると思います:

(def fns [inc inc inc])
(reduce (fn [v f] (f v)) 10 fns)
于 2012-09-19T10:53:09.520 に答える