コンストラクタの引数を交換することは可能ですか? 次の例を検討してください。
case class Foo(a:Int, b:Int) {
if (a > b) {
val tmp = a
a = b
b = tmp
}
}
4 行目でval を再割り当てするため、コンパイラはエラーをスローしますが、a
これはまったく問題ありません。ただし、不変オブジェクトが必要です。a
したがって、 andb
を変数として宣言することはできません。
この問題を解決する既知のパターンはありますか?