评论者:pbwolf
原始问题从 {{toString}} 开始。一个更直观的问题是,该问题表明 {{pr}} 生成 EDN 的不可靠性。
是否存在中间的 {{print-str}}(这与 {{pr}} 的调用者可能毫无关系)会产生实质性影响
`
user> (clojure.edn/read-string
(first
(clojure.edn/read-string
(let [mk-str (fn [] (lazy-seq [(str ["ZiZi"])]))
a (mk-str)]
;(print-str a)
(pr-str a)))))
["ZiZi"]
user> (clojure.edn/read-string
(first
(clojure.edn/read-string
(let [mk-str (fn [] (lazy-seq [(str ["ZiZi"])]))
a (mk-str)]
(print-str a)
(pr-str a)))))
[ZiZi]
`