是否有任何宏可以帮助用一个开放参数创建一个函数?

时间:2013-04-09 08:17:34

标签: clojure

(map (fn [x] (func 1 2 x)) [0 1 2])其中func需要3个参数,可以简写为(map #(func 1 2 %) [0 1 2])。是否有可能使它更简洁?就像在OCaml中一样,(func 1 2)本身就是一个函数。我不需要创建一个新的并将其传递给map。

1 个答案:

答案 0 :(得分:5)

Clojure不进行自动调整,因此您不能只说(func 1 2),但可以使用partial

(map (partial func 1 2) [0 1 2])