1
如果我声明val 1
如何在不更改名称val 1
的情况下访问它?Scala:如何访问我声明的val?
val 1 = ONE
def ONE = 1
print(1) // `1` should be a reference to ONE which I declared above.
如果我声明val 1
如何在不更改名称val 1
的情况下访问它?Scala:如何访问我声明的val?
val 1 = ONE
def ONE = 1
print(1) // `1` should be a reference to ONE which I declared above.
这不声明一个变量名为1
:
val 1 = ONE
它能做什么,而不是为模式匹配 - 其结果是没有用的。
试试这个,你会得到一个模式匹配错误:在斯卡拉
def ONE = 2
val 1 = ONE
变量不能有只包含数字的名称,或以数字开头。您无法声明名称为1
的变量。
像Jesper表示它是模式匹配。考虑这个代码类似于你的:
def ONE_AND_TWO = (1, 2)
val (1, b) = ONE_AND_TWO
println(b) // prints 2
val (2, _) = ONE_AND_TWO //scala.MatchError: (1,2) (of class scala.Tuple2$mcII$sp)
在你的情况下,你只有一个值而不是元组。如果你想尽可能地将变量,数值或函数命名为接近1
,你可以使用:
def `1` = ONE
但是我也可以写'var 1 = ONE'。这是一个误导性的语法。 – barbara 2015-03-31 18:25:04
与'val 1 = ONE'(模式匹配,没有声明变量)的作用相同。 – Jesper 2015-03-31 18:26:28
这很有趣。 – barbara 2015-03-31 18:31:49