Biorąc pod uwagę następujący scenariusz:Jak zaktualizować zapisy w ref mapie w Clojure?
(defrecord Person [firstname lastname])
(def some-map (ref {}))
(dosync
(alter some-map conj {1 (Person. "john" "doe")})
(alter some-map conj {2 (Person. "jane" "jameson")}))
Aby zmienić Book Nazwa z "joe" do "nick", mam następujące:
(dosync
(alter some-map (fn [m]
(assoc m 1
(assoc (m 1) :firstname "nick")))))
Jaki jest idiomatyczne to sposobem w Clojure?
Uzgodnione, aktualizacja jest zbyt ogólna w tym przypadku. –