Chciałbym napisać plik danych EDN z Clojure jako oznaczone literały. Chociaż interfejs API clojure.edn zawiera read
i read-string
, nie ma pisarzy. Znam problem zgłoszony here. Na tej podstawie rozumiem, że funkcje, które mają być używane dzisiaj, są dostępne w postaci funkcji pr
i pr-str
.Jaki jest "prawidłowy" sposób zapisu pliku EDN w Clojure od sierpnia 2013 r.?
Chciałem sprawdzić ze społecznością StackOverflow aby zobaczyć, czy coś jak poniżej będą uważane za „prawidłowy” sposób rozpisać plik 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"})])))
Jeśli używasz EDN w produkcji, jak wypiszesz plik EDN? Podobne do powyższych? Czy są jakieś problemy, na które muszę zwrócić uwagę?
Aktualizacja
Wpis Clojure Cookbook, "Emitting Records as EDN Values" zawiera dokładniejsze wyjaśnienie tego problemu i sposobów jego skutkującym ważnych tagów EDN uchwytem.
Sprawdź https://github.com/xsc/rewrite-clj – devth