AG
Size: a a a
AG
VL
AG
T
>>> (reduce-kv (fn [m k v] (if (= (m k) v)
(dissoc m k)
m))
{:a 1, :b 2, :c 3}
{:b 2, :c 3})
{:a 1}
AG
AG
AG
T
(apply dissoc {:a 1, :b 2, :c 3} (keys {:b 2, :c 3}))
AG
AG
(clojure.set/difference (set (seq m1)) (set (seq m2)))
AG
SI
(use 'clojure.data)
(first (diff {:a 1 :b 2 :c 3} {:b 2 :c 3}))
AG
SI
user=> (let [a {:a 1 :b 2 :c 3}
#_=> b {:b 2 :c 3 :d 4}
#_=> [a1 b1] (clojure.data/diff a b)]
#_=> (merge a1 b1))
{:a 1, :d 4}
T
user=> (let [a {:a 1 :b 2 :c 3}
#_=> b {:b 2 :c 3 :d 4}
#_=> [a1 b1] (clojure.data/diff a b)]
#_=> (merge a1 b1))
{:a 1, :d 4}
SI
T
>>> (macroexpand '(p x))
(do (println (str `x \:)
(clojure.pprint/pprint x)
x)
Пока что есть только вот это:(defmacro p [data]Там неправильно выводится имя переданной переменной
`(do (println (str `data \:))
(clojure.pprint/pprint ~data)
~data))
MG
MG
user=> (macroexpand '(p x))
(do (clojure.core/println (clojure.core/str (quote user/data) \:)) (clojure.pprint/pprint x) x)