评论由:pbwolf发表
原始问题从{{toString}}开始。一个更直观的问题是,这个问题演示了{{pr}}在发出EDN时是不可靠的。
中间是否存在{{print-str}}(调用者可能与此无关)对结果有重大影响
`
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]
`