Với các tình huống sau:Làm thế nào để cập nhật các bản ghi trong bản đồ ref trong 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")}))
Để thay đổi firstname của "joe" thành "nick", tôi thực hiện như sau:
(dosync
(alter some-map (fn [m]
(assoc m 1
(assoc (m 1) :firstname "nick")))))
cách thành ngữ để làm điều này trong Clojure là gì?
Đồng ý, cập nhật trong quá chung chung trong trường hợp này. –