我在使用pr-str序列化一个可能包含带自动命名空间关键词的数据结构。
我希望在序列化之前,减少数据结构不包含自动关键词,但不知道如何检测它?
(def x ::outbound)
(pr-str x) => "::outbound"
(edn/read-string "::outbound") => exception
(namespace x) => "current-namespace"
那么,是否有方法知道x是否有自动命名空间?
谢谢,
抱歉 - 没有在repl上运行就写了这个问题 - 这里有一个合适的例子
(keyword ":out") => ::out
(pr-str (keyword ":out")) => "::out"
(edn/read-string (pr-str (keyword ":out"))) =>
Execution error at user/eval93457 (form-init751239350220000799.clj:1).
Invalid token: ::out