【发布时间】:2017-11-07 16:50:46
【问题描述】:
如何在 Clojure 中将元素添加到数组映射?我尝试使用 assoc 但它没有被添加?我基本上想为条目数组映射中的任何缺失项设置默认值 0。
(defn create-entry [doc]
(let [entry (assoc doc "id" (str (java.util.UUID/randomUUID)))]
(if (empty? (get entry "foo")) (assoc entry "foo" 0))
(if (empty? (get entry "bar")) (assoc entry "bar" 0))))
在来自 Carcigenicate 的 cmets 之后更新:
(defn entry [doc]
(as-> (assoc doc "id" (str (java.util.UUID/randomUUID))) e
(if (empty? (get e "foo")) (assoc e "foo" 0) e)
(if (empty? (get e "bar")) (assoc e "bar" 0) e)))
(defn create-entry [doc]
(prn (entry doc)))
【问题讨论】:
标签: clojure