试试这个(在Scala 2.10.3中):
scala> class A(var a: Int = _)
<console>:1: error: unbound placeholder parameter
class A(var a: Int = _)
^
有什么问题?默认值类型的下划线不能在主构造函数中使用?
答案 0 :(得分:2)
下划线用于类型默认值的占位符(请参阅Scala语言规范)。我不确定你为什么要进行这种类型的初始化而不是:class A(var a: Int = 0)
,因为它可能更简洁,其他编码器会立即知道默认值。