Ich habe eine Karte m
, einen Schlüssel k
und eine Funktion f
. Ist es möglich, diesen Code einfacher zu schreiben?Wie wird der Kartenwert mithilfe der Funktion aktualisiert?
(assoc m k (f (get m k))
Ich habe eine Karte m
, einen Schlüssel k
und eine Funktion f
. Ist es möglich, diesen Code einfacher zu schreiben?Wie wird der Kartenwert mithilfe der Funktion aktualisiert?
(assoc m k (f (get m k))
(update-in m [k] f)
update-in diesem Versuchen gut funktioniert, obwohl es für verschachtelte Karten besonders nützlich ist:
> (update-in {:a 4} [:a] + 7)
{:a 11}
> (update-in {:a {:b 4 :c {:d 8}} :q :foo} [:a :c :d] + 7)
{:a {:c {:d 15}, :b 4}, :q :foo}
ehrfürchtig, Dank – DNNX