在Clojure中通过一系列参数向量映射函数

时间:2011-12-07 23:24:15

标签: map clojure

有没有办法在参数的向量(或列表)列表中映射3个参数的函数foo,以便向量解构?

(defn foo [a b c]
 ...)

([a1 b1 c1] [a2 b2 c2])

我可以使用一个简单的功能吗?或者我是否必须构建一个匿名函数?

1 个答案:

答案 0 :(得分:5)

您需要应用功能。

(map #(apply foo %) '([1 2 3] [4 5 6]))

编辑:

由于您提到不使用匿名函数,我会注意到您可以使用一些简单的函数组合轻松地创建foo函数的“可映射”版本。

(def mfoo (partial apply foo))
(map mfoo '([1 2 3] [4 5 6]))