1

例として、2 つのセットがあるとします。

(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 フィールドが異なるため、カスタム コンパレータを使用しないと、セットに 4 つの要素が含まれます。

(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}}

カスタム コンパレータまたは比較を使用して 2 つのセット間の結合を見つけるための慣習的な方法は何ですか?

4

2 に答える 2