0
有沒有辦法指示clojure.core.edn/read
如何解析自動命名空間關鍵字?Clojure edn讀取自動命名空間關鍵字
(edn/read-string "{:not-namespaced \"ko\" }") ;;=> {:not-namespaced "ko"}
(edn/read-string "{:namespaced/ok \"ko\" }") ;;=> #:namespaced{:ok "ko"}
(edn/read-string "{::namespaced \"ko\" }") ;;=> Unhandled java.lang.RuntimeException Invalid token: ::namespaced autonamespaced does not work
最後一個例外是有道理的,因爲"A keyword cannot begin with ::"。
我可以使用load-file
這個簡單的例子,但是我也需要edn
(讀取自定義標籤)的可擴展性。
有一個參數指示如何解析命名空間將使我的配置文件(強制使用clojure.spec
)更具可讀性。
你嘗試過使用'clojure.core/read-string'嗎? – OlegTheCat
@OlegTheCat有趣,我沒有!儘管如此,我不得不去挖掘它的選項圖。 – nha
@OlegTheCat據我所知,clojure.core/read-string將不會讓我有像edn這樣的讀者。這將阻止我在https://github.com/juxt/aero中定義的配置(否則可能有效)。 – nha