在clojure中为struct-map添加新的键值对

时间:2013-09-19 07:09:30

标签: clojure

我有像这样的结构图

(def admin (struct-map person :first-name "Name" :last-name "Last name"))

所以,现在我想为这张地图添加新的键值对,让它看起来像

(def admin (struct-map person :first-name "Name" :last-name "Last name" :username "username"))

我该怎么做?

我知道在此之后它不会是相同的结构,但没关系。

1 个答案:

答案 0 :(得分:4)

如果您不关心保留结构,assoc会添加新的键值对。

(defstruct person :first-name :last-name)

(def admin (struct-map person 
             :first-name "Name" 
             :last-name "Last name"))

(assoc admin :username "username")
  ;=> {:first-name "Name", :last-name "Last name", :username "username"}