【发布时间】:2018-06-29 22:16:27
【问题描述】:
为了举例,假设我有两组:
(def set-a #{{:id 1 :name "ABC" :zip 78759} {:id 2 :name "DEF" :zip 78759}})
(def set-b #{{:id 1 :name "ABC" :zip 78753} {:id 3 :name "XYZ" :zip 78704}})
我想找到集合之间的联合,仅使用 :id 和 :name 字段。但是,如果不使用自定义比较器,我会在集合中得到四个元素,因为 :zip 字段不同。
(clojure.set/union set-a set-b)
#{{:id 3, :name "XYZ", :zip 78704} {:id 1, :name "ABC", :zip 78753}
{:id 1, :name "ABC", :zip 78759} {:id 2, :name "DEF", :zip 78759}}
使用自定义比较器或比较来查找两组之间的联合的惯用方法是什么?
【问题讨论】:
标签: clojure set compare comparator set-union