【发布时间】:2010-07-28 09:33:02
【问题描述】:
这段代码有什么作用?为什么有两组构造函数参数?
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 组参数。它不编译。那么这两组构造函数参数是什么意思呢?
【问题讨论】:
-
这不是我编造的。我在 scala swing 库中找到了这个结构:lampsvn.epfl.ch/trac/scala/browser/scala/trunk/src/swing/scala/…
标签: class scala constructor