Mã này làm gì? Tại sao có hai bộ tham số constructor?Hai bộ tham số hàm tạo trong một lớp scala
class A(val x: Int)(val y: Int)
tôi có thể khởi tạo một đối tượng và sử dụng cả hai lĩnh vực:
val a = new A(5)(7)
println(a.x + ", " + a.y)
Nếu tôi làm cho nó một lớp trường hợp, tôi có thể phù hợp với chỉ bởi tập đầu tiên của các tham số.
case class A(x: Int)(y: Int)
val a = A(5)(7)
a match {
A(x) => println(x)
}
Không thể tạo 3 bộ tham số. Nó không biên dịch. Vì vậy, ý nghĩa của hai bộ tham số constructor là gì?
Nó không phải là thứ tôi tạo ra. Tôi tìm thấy cấu trúc này trong thư viện scala swing: https://lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/swing/scala/swing/event/MouseEvent.scala – PeWu