Я использую функцию соединения из clojure.set
.join
с двумя параметрами предполагает естественное объединение.
Загрузите его:
user=> (use 'clojure.set)
nil
Это имеет смысл - если любая из сторон объединения имеет 0 строк, поэтомурезультат:
user=> (join [{:a 1 :b 2}] [])
#{}
Это также имеет смысл - столбцы с одинаковыми именами (все 0 из них :)) имеют одинаковое значение:
user=> (join [{:a 1 :b 2}] [{}])
#{{:a 1, :b 2}}
То же самое здесь:
user=> (join [{:a 1 :b 2}] [{:c 3}])
#{{:c 3, :a 1, :b 2}}
Но тут я заблудился:
user=> (join [{:a 1 :b 2}] [{:a 2 :b 1} {}])
#{}
Я присоединился {:a 1 :b 2}
к {}
ранее и получил ряд.Чего мне не хватает?