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