juxt 是 map 的反义词吗? (在 Clojure 中)

Is juxt the opposite of map? (In Clojure)

在 Clojure 中,我们看到以下使用 map 的示例:

(map inc [1 2 3 4 5])
;;=> (2 3 4 5 6)

我们观察到 map 接受一个函数并将其应用于集合中的每个元素。

在 Clojure 中,我们看到以下使用 juxt 的示例:

((juxt inc dec) 2)
;=>[3 1]

我们观察到 juxt 采用数据结构并将每个函数应用于它。

我的问题是:juxt是map的反义词吗? (因为你 map 函数集合上的数据结构而不是相反)

我认为你不能调用 juxt 的反义词。 Juxt 将多个函数组合成一个函数,该函数产生一系列将每个函数应用于其参数的结果。

我想 juxt 可以(应该是?)用 map 来表达 (defn juxt [& funs] (fn [& args] (map #(apply % args)) funs))