这是什么意思斯卡拉VAL _x和Val X_

问题描述:

我很困惑与以下两个声明如下:这是什么意思斯卡拉VAL _x和Val X_

val _x 
val x_ 

是什么意思,为什么我们使用下划线有时声明变量和函数?

+0

首先声明了一个名为'_x'一个'val'。第二个声明一个名为'x_'的val。 –

他们没什么特别的。下划线在斯卡拉的变量名中为allowed(但不鼓励,因为链接的样式指南提及)。

这些只是名称的一部分,没有特别的意义。你将不得不问问作者为什么选择使用这些名字。

有许多地方强调确实有特殊的意义。然而,看看What are all the uses of an underscore in Scala?

这只是一个简单的约定,没有任何特殊含义和规则。如何以往的惯例是一样

var _a: Option[Double] = None 
def z = _variable 
def b_=(newVal: Double) { _x = Some(newVal)} 

我希望THI细节有助于UnderScore Magic