Manipulação de maps com assoc e dissoc em Clojure
A modificação de um mapa em Clojure ocorre através das funções de associação (assoc) e dissociação (dissoc), que respeitam a imutabilidade.
assoc (associate)
Adiciona um novo par chave-valor ou substitui o valor se a chave já existir.
(def scores {"Angela" 1024})
(assoc scores "Sally" 0)
;; => {"Angela" 1024, "Sally" 0}
(assoc scores "Angela" 0)
;; => {"Angela" 0}dissoc (dissociate)
Remove um ou mais pares de chave-valor do mapa.
(dissoc scores "Angela")
;; => {}