2024年Clojure调查问卷中分享您的想法!

欢迎!有关如何使用本站的一些更多信息,请参阅关于页面。

0
协议

我已经使用原子的方式创建了一个环形数据结构,尝试打印这个数据结构会导致StackOverflow,因为原子的字符串格式包含了它的值

=> #object[clojure.lang.Atom 0x6b932895 {:status :ready, :val "recursive"}]

我如何更改原子在repl中的显示方式?是否有某种方法可以将其更改局限化?

1 个答案

+1

您可以为clojure.lang.Atom提供一个新的print-method / print-dup,例如:

(defmethod print-method clojure.lang.Atom [obj ^java.io.Writer w] 
  (.write w "#atom"))
...