0
Scalaのコレクションに対して自分自身の概念や順序を定義することは可能ですか?この場合、複数のインスタンスを保持したいので、equals
とhashCode
をオーバーライドすることはできません。ここでコレクションに対して暗黙的に等価/順序を定義する
私が念頭に置いていたおおよそものです:(このコードの無効を無視する)
implicit val customEq1(x: Int, y: Int) = x % 8 == y % 8
val customEq2(x: Int, y: Int) = x.toString == y.toString.take(2)
val union = Set(1,15,3).union(Set(3,7,8)) // => Set(1,3,8)
私は平等/順序は型クラスであることを想像するが、例えばのような機能だろうdiff
、union
、intersect
は、このような機能を提供していないようです。
の可能性のある重複[不変セット比較メソッドで使用されるカスタム等価演算をどのように定義できますか?(http://stackoverflow.com/questions/7681183/how-can-i-define-a-custom-equality-operation-that-will -be-used-by-immutable-set) – DeadNight
"duplicate"質問への回答は、私の質問で説明したように、私が望んでいなかった「equals」を上書きすることを提案しています。 – TomTom