Como iterar sobre chaves e valores de mapa?
Tenho o seguinte mapa que quero iterar:
(def db {:classname "com.mysql.jdbc.Driver"
:subprotocol "mysql"
:subname "//100.100.100.100:3306/clo"
:username "usr" :password "pwd"})
Eu tentei o seguinte, mas em vez de imprimir a chave e o valoruma ve, imprime repetidamente a chave e os valores como várias combinações:
(doseq [k (keys db)
v (vals db)]
(println (str k " " v)))
Eu vim com uma solução, mas a de Brian (veja abaixo) é muito mais lógic
(let [k (keys db) v (vals db)]
(do (println (apply str (interpose " " (interleave k v))))))