如何将var args传递给Clojure中的匿名函数?

jee*_*mar 4 clojure

是否可以在Clojure中为匿名函数执行var args?

例如,我该怎么转:

(#(reduce + (map * %1 %2 %3)) [1 2 3] [4 5 6] [7 8 9])
Run Code Online (Sandbox Code Playgroud)

变成像,

(#(reduce + (map * [& args])) [1 2 3] [4 5 6] [7 8 9])
Run Code Online (Sandbox Code Playgroud)

Gui*_*ler 10

这解决了这个问题:

 user> ((fn[& args] (reduce + (apply map * args))) [1 2 3] [4 5 6] [7 8 9])
       270
Run Code Online (Sandbox Code Playgroud)

要么

 user> (#(reduce + (apply map * %&)) [1 2 3] [4 5 6] [7 8 9])
       270
Run Code Online (Sandbox Code Playgroud)