1

Clojure1.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

さて、この質問には2つの答えがあります。ordered1つは、 (私)の怠惰なメンテナが彼の行動をまとめて実行する必要があるということtoStringです。strもう1つは、読みやすさを重視する場所ではおそらく使用すべきではないということです。これpr-strは、はるかに信頼性の高いデータ表示機能です。たとえば、(str {:a 'a})両方(str {:a "a"})とも結果として"{:a a}"pr-strタイプ情報は残ります。

于 2012-04-13T08:03:41.830 に答える