¿Qué hace este código? ¿Por qué hay dos conjuntos de parámetros de constructor?Dos conjuntos de parámetros de constructor en una clase scala
class A(val x: Int)(val y: Int)
puedo inicializar un objeto y utilizar los dos campos:
val a = new A(5)(7)
println(a.x + ", " + a.y)
Si hago una clase caso, puedo coincidir sólo por el primer conjunto de parámetros.
case class A(x: Int)(y: Int)
val a = A(5)(7)
a match {
A(x) => println(x)
}
No es posible crear 3 conjuntos de parámetros. No compila Entonces, ¿cuál es el significado de los dos conjuntos de parámetros de constructor?
No es algo que inventé. Encontré esta construcción en la biblioteca de scala swing: https://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/swing/scala/swing/event/MouseEvent.scala – PeWu