Что делает этот код? Почему существуют два набора параметров конструктора?
class A(val x: Int)(val y: Int)
Я могу инициализировать объект и использовать оба поля:
val a = new A(5)(7)
println(a.x + ", " + a.y)
Если я создаю класс case, я могу сопоставить только первый набор параметров.
case class A(x: Int)(y: Int)
val a = A(5)(7)
a match {
A(x) => println(x)
}
Невозможно создать 3 набора параметров. Он не компилируется. Итак, каков смысл двух наборов параметров конструктора?