1

我在 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,那么如何覆盖该.toString方法ordered-set以便从中获取正确的字符串?

谢谢

4

1 回答 1

4

嗯,这个问题有两个答案。一是,ordered(我)的懒惰维护者应该齐心协力并实施toString。另一个是,你可能不应该str在任何你关心可读性的地方使用 -pr-str这是一个更可靠的数据表示功能。例如,(str {:a 'a})两者(str {:a "a"})都导致"{:a a}". 随着pr-str类型信息的保留。

于 2012-04-13T08:03:41.830 回答