簡體   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