Я хотел бы записать файл данных EDN от Clojure в виде помеченных литералов. Хотя API clojure.edn содержит read
и read-string
, нет писателей. Я знаком с сообщением о проблеме here. Исходя из этого, я понимаю, что функции pr
и pr-str
предназначены для использования сегодня.Что такое «Правильный» способ записи EDN-файла в Clojure по состоянию на август 2013 года?
Я хотел проверить с сообществом StackOverflow, чтобы увидеть, если что-то вроде следующего будет считаться «правильный» способ записи из файла EDN:
(spit "friends.edn" (apply str
(interpose "\n\n"
[(pr-str (symbol "#address-book/person") {:name "Janet Wood"})
(pr-str (symbol "#address-book/person") {:name "Jack Tripper"})
(pr-str (symbol "#address-book/person") {:name "Chrissy Snow"})])))
Если вы используете EDN в производстве, как вы пишете файл EDN? Как и выше? Есть ли какие-то проблемы, которые мне нужно искать?
Update
Запись Clojure Cookbook, "Emitting Records as EDN Values" содержит более подробное объяснение этого вопроса и способы обработки его, что приведет к правильным тегам EDN.
Проверьте https://github.com/xsc/rewrite-clj – devth