関数のベクトルがあります(def my-func [a b c d])
。各関数は、最後の関数の出力を入力として受け取ります。それらを介して入力をスレッド化したいのですが、どうすればよいですか?
次のフォームにアクセスするにはどうすればよい(-> in a b c d)
ですか?
ありがとう、ムルタザ
関数のベクトルがあります(def my-func [a b c d])
。各関数は、最後の関数の出力を入力として受け取ります。それらを介して入力をスレッド化したいのですが、どうすればよいですか?
次のフォームにアクセスするにはどうすればよい(-> in a b c d)
ですか?
ありがとう、ムルタザ
使用できますcomp
が、機能を右から左に実行することに注意してください
((comp d c b a) 10)
また
((apply comp my-fns) 10)
最初の関数に 10 を渡し、結果を次の関数に渡します。
私はあなたがreduce
関数を使うことができると思います:
(def fns [inc inc inc])
(reduce (fn [v f] (f v)) 10 fns)