Assoc - 更新 clojure 中的 mapvector 值

应用于地图时,返回具有新的或更新的密钥对的新地图。

它可用于在现有地图中添加新信息。

(def userData {:name "Bob" :userID 2 :country "US"})
(assoc userData :age 27)            ;; { :name "Bob" :userID 2 :country "US" :age 27} 

如果提供现有密钥,它将替换旧信息值。

(assoc userData :name "Fred")       ;; { :name "Fred" :userID 2 :country "US" } 
(assoc userData :userID 3 :age 27)  ;; {:name "Bob" :userID 3 :country "US" :age 27} 

它也可以在向量上用于替换指定索引处的值。

(assoc [3 5 6 7] 2 10)              ;; [3 5 10 7]
(assoc [1 2 3 4] 6 6)               ;; java.lang.IndexOutOfBoundsException