EDNとは
Extensible Data Notation.
Rich Hickey のかんがえたさいきょうのふぉーまっと(らしい, ref). そのためClojureプログラミング界隈ではではたいていEDN形式でファイルが保存される.
Rationale(必然的理由)の詳細はGitHubより.
ref. edn-format/edn: Extensible Data Notation - GitHub
Basic Usage
clojure.edn namespace の edn/read-stringを基本的にはつかって読み込み.
ref. edn(extensible data notation)を使う - Qiita
examples
(require '[clojure.edn :as edn])
(defn load-edn [file-path]
(when-let [file (resource file-path)]
(-> file
slurp
edn/read-string)))
(defn dump-edn! [file-path data]
(let [save-data (with-out-str (pprint data))]
(spit save-path file-data)))
💡EDN Insignts
hashmapの区切りにカンマはいるの?
EDNを出力するときにpprintとかで整形するとカンマがついている. これはClojureが読みやすさのためにREPL出力のときにつけてくれるものであるがClojureでは, はwhitespaceとして扱うので両者に違いはない.
ref. Clojure - Learn Clojure - Hashed Collections
気にしないほうがいい. ただカンマなしを見かけるほうが多い.
Datomicとの関係
EDNのシンタックスハイライト はどうする?
Clojureを指定すればいい.
ednファイルの命名の慣習は?
ednファイルはclojureで読めばそれはClojureのCollectionなのでその慣習に従うのがよさそう. hashmapなら単数, vectorなら複数など.
👉Related
- up: 📁Clojure Development
- tags: 🔖データ記述言語