Имеет ли clojure функцию merge-if-exists
для объединения двух карт,
как
(defn merge-if-exists [map1 map2])
возвращает новую карту, содержащую все ключи map1
, и, если ключ встречается в нескольких картах, используйте значение map2
этого ключа в качестве возвращаемого значения карты, иначе значение map1
.
1010 *, например *
(merge-if-exists {:a 1 :b 2} {:b 3})
;=> {:a 1, :b 3}
(merge-if-exists {:a 1 :b 2} {:c 3})
;=> {:a 1, :b 2}
(merge-if-exists{:b 3} {:a 1 :b 2})
;=> {:b 2}
Как написать эту функцию?