scala 2.7.5 で不変オブジェクトを処理する必要があり、そのメンバーの 1 つは不変の Sortedsetです。私は加算に問題はありません。合成するために、次のようになります。
class MyClass[A](s:SortedSet[A]) {
...
def + (elem:A):MyClass[A] {
new MyClass(s + elem)
}
}
+ 演算子は、SortedSet を返す特性 sortedSet でオーバーロードされているため、機能します。
残念ながら、メソッドがオーバーロードされていないため、要素の削除は失敗します。
class MyClass[A](s:SortedSet[A]) {
...
def - (elem:A):MyClass[A] {
new MyClass(s - elem) // Compiler error: (s - elem) is a Set[A]
}
}
次のことを知っている要素を抑制するときに、ソートされたセットを取得する方法を知っている人はいますか? - TreeSet のようなより具体的な種類のセットを使用したくありません。- SortedSet の代わりに Set[A] として特定性の低い特性を使用することはできません。