¿Cómo agrego un elemento a un mapa de matriz en Clojure?
¿Cómo puedo agregar un elemento a un mapa de matriz en Clojure? ¿Intenté usar assoc pero no se agregó? Básicamente, quiero establecer un valor predeterminado de 0 para los elementos faltantes en la matriz de mapas de entrada.
(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))))
Actualización después de los comentarios de Carcigenicate:
(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)))