首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重写有序集的.toString方法

如何重写有序集的.toString方法
EN

Stack Overflow用户
提问于 2012-04-13 15:27:55
回答 1查看 186关注 0票数 1

我在Clojure 1.3.0中对一些东西使用ordered set。我的project.clj包括[ordered "1.1.0"]

当我调用(str (ordered-set 1 2 3))时,我会得到"ordered.set.OrderedSet@6",但是当我调用一个普通的clojure hash-set (str (hash-set 1 2 3))时,我会得到正确的"#{1 2 3}"

str方法在某个地方调用.toString,那么如何覆盖ordered-set.toString方法,以便从中获得正确的字符串呢?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-13 16:03:42

这个问题有两个答案。一个是,ordered的懒惰维护者(我)应该振作起来,实现toString。另一个原因是,您可能不应该在关心可读性的任何东西上使用str - pr-str是一个更可靠的数据表示函数。例如,(str {:a 'a})(str {:a "a"})的结果都是"{:a a}"。对于pr-str,类型信息仍然保留。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10136848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档