У меня есть
(defstruct book :title :year)
(def e [
(struct book "John" 123)
(struct book "Ashwani" 456)
])
Я хочу создать CSV-файл, содержащий 2 строки из этого вектора
John,123
Ashwani,456
Я могу получить этот результат на консоли, используя доза
(doseq [x e]
( println (x :title) "," (x :year) ))
Я пытаюсь использовать clojure.contrib.duck-streams/spit
для создания этого CSV, но я не в состоянии перебрать мысль и создать строку и передать ее, чтобы плюнуть.
Каков наилучший способ достичь этого. Я надеялся придумать некоторую функцию Reduce, а затем передать ее, чтобы плюнуть и создать этот CSV. (В C # я бы открывал поток и записывал каждую строку, а в конце закрывал поток и сохранял файл, и мой мозг заставлял меня мыслить так, но я уверен, что для этого должен быть какой-то функциональный способ) *