Clojure 如何进行局部连接?

Clojure 如何进行局部连接?,clojure,currying,partial-application,Clojure,Currying,Partial Application,我正在尝试创建一个函数,将几个过程应用于一个映射,包括使用“conj”向每个映射添加/更新一些标准项。我是通过使用“comp”组合其他几个函数来实现的 所以我试着这么做 (defn everything [extra] (comp (partial conj {:data extra}) another-func) ) 这是行不通的,因为conj想要额外的数据作为第二个参数,而不是第一个参数 我认为应该有一种类似的简单方法来编写curried conj,但我不太清楚如何编写。最简单的方法就是编

我正在尝试创建一个函数,将几个过程应用于一个映射,包括使用“conj”向每个映射添加/更新一些标准项。我是通过使用“comp”组合其他几个函数来实现的

所以我试着这么做

(defn everything [extra] (comp (partial conj {:data extra}) another-func) )
这是行不通的,因为conj想要额外的数据作为第二个参数,而不是第一个参数


我认为应该有一种类似的简单方法来编写curried conj,但我不太清楚如何编写。

最简单的方法就是编写一个匿名函数:

(defn everything [extra]
  (comp #(conj % {:data extra}) another-func))

#(conj%{:data extra})
不起作用?是的。。。完美地没想到。:-。。。那我就回答你。:)