主构造函数,带下划线的值

时间:2013-12-02 19:39:26

标签: scala scala-primary-constructor

试试这个(在Scala 2.10.3中):

scala> class A(var a: Int = _)
<console>:1: error: unbound placeholder parameter
       class A(var a: Int = _)
                            ^

有什么问题?默认值类型的下划线不能在主构造函数中使用?

1 个答案:

答案 0 :(得分:2)

下划线用于类型默认值的占位符(请参阅Scala语言规范)。我不确定你为什么要进行这种类型的初始化而不是:class A(var a: Int = 0),因为它可能更简洁,其他编码器会立即知道默认值。