Clojure から EDN データ ファイルをタグ付きリテラルとして書き出したいと思います。clojure.edn API にはread
とが含まれていますread-string
が、ライターはありません。ここで報告された問題についてはよく知っています。それに基づいて、pr
およびpr-str
関数が今日使用されることを意図しているものであることが私の理解です。
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 ファイルをどのように書き出すのですか? 上記に似ていますか?注意が必要な問題はありますか?
アップデート
Clojure Cookbook のエントリ「Emitting Records as EDN Values」には、この問題の詳細な説明と、有効な EDN タグを生成する処理方法が含まれています。