У меня есть следующая карта, которую я хочу iterate:
(def db {:classname "com.mysql.jdbc.Driver"
:subprotocol "mysql"
:subname "//100.100.100.100:3306/clo"
:username "usr" :password "pwd"})
Я пробовал следующее, но вместо того, чтобы печатать ключ и значение один раз , он неоднократно печатал ключ и значения в виде различных комбинаций:
(doseq [k (keys db)
v (vals db)]
(println (str k " " v)))
Я придумал решение, но Брайан (см. Ниже) гораздо более логичен.
(let [k (keys db) v (vals db)]
(do (println (apply str (interpose " " (interleave k v))))))