Scala 将变量设置为默认值

Scala 将变量设置为默认值,scala,Scala,有一个类使用了ArrayBuffer,我并不关心第一个元素的值是多少。在C#中有default关键字,它返回null作为引用类型,返回默认值(例如int)作为值类型。如何在Scala中实现类似的功能?我不想使用选项,因为这样会有样板代码来提取值 var myInt: Int = _ 默认值的关键字是:。为什么会有带有选项的样板文件?我想你误解了选项是一元类型?如果你不关心元素的值是什么,为什么要将元素存储在数组中?@stew我关心的是其余的元素,而不是第一个元素。我正在实现一个二进制堆,有一个

有一个类使用了
ArrayBuffer
,我并不关心第一个元素的值是多少。在C#中有
default
关键字,它返回
null
作为引用类型,返回默认值(例如
int
)作为值类型。如何在Scala中实现类似的功能?我不想使用
选项
,因为这样会有样板代码来提取值

var myInt: Int = _

默认值的关键字是:

为什么会有带有选项的样板文件?我想你误解了选项是一元类型?如果你不关心元素的值是什么,为什么要将元素存储在数组中?@stew我关心的是其余的元素,而不是第一个元素。我正在实现一个二进制堆,有一个巧妙的技巧可以从一开始创建数组索引,从而简化代码。这可能会让您感兴趣:
提取值的样板代码对我来说没有意义。这是怎样的
valx=Some(5)
然后
x.get
样板文件<代码>选项
优于
null
,因为它定义了一个值(或不定义)。而
null
可能意味着任何东西。你必须把它变成var,而不是val。我认为这是一个典型的元问题:答案可能是正确的,但整个方法乍一看似乎很奇怪。@StefanKunze这是Robert Sedgewick推荐的方法,所以没有什么奇怪的。@synapse:你只能在特定的上下文中判断一个概念。