繁体   English   中英

如何覆盖有序集的.toString方法

[英]How to override .toString method for ordered-set

我在Clojure 1.3.0中使用了有序集。 我的project.clj包括[ordered "1.1.0"]

当我调用(str (ordered-set 1 2 3))我得到"ordered.set.OrderedSet@6"但是当我调用普通的clojure哈希集(str (hash-set 1 2 3))我得到了正确的"#{1 2 3}"

str方法在某处调用.toString ,那么如何覆盖ordered-set.toString方法,以便我可以从中获取正确的字符串?

谢谢

嗯,这个问题有两个答案。 一个是, ordered (我)的懒惰维护者应该一起行动并实现toString 另一种是,你可能不应该在任何关心可读性的地方使用str - pr-str是一种更可靠的数据表示功能。 例如, (str {:a 'a})(str {:a "a"})都会产生"{:aa}" 使用pr-str ,类型信息仍然存在。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM