我已經定義了記錄來存儲用戶詳細信息和地址詳細信息。Clojure:更新記錄字段的值
(defrecord User [id name address])
(defrecord Address [id location street city state])
(def usr (User. 1 "Abc"
(Address. 1 "Location 1" "Street" "NY" "US")))
我已經更新 「名稱」 爲 「BCD」 使用以下代碼
(assoc usr :name "BCD")
輸出:
#async_tea_party.core.User{:id 1, :name "BCD", :address #async_tea_party.core.Address{:id 1, :location "Location 1", :street "Street", :city "NY", :state "US"}}
(USR)
輸出:
#async_tea_party.core.User{:id 1, :name "Abc", :address #async_tea_party.core.Address{:id 1, :location "Location 1", :street "Street", :city "NY", :state "US"}}
新值name
字段沒有更新,它仍然顯示舊值。
如何在「用戶」記錄中永久更新「名稱」字段?
@ user1702169這項工作。但最有可能的是,您需要構建您的程序以避免依賴原子,並直接將新記錄傳遞到您需要的地方。 – nha