【发布时间】:2016-09-10 11:56:54
【问题描述】:
知道为什么我可以使用一个元组分配多个变量,而不是多个常量吗?
scala> val (myVar1, myVar2) = (1, 2)
myVar1: Int = 1
myVar2: Int = 2
scala> val (MyConst1, MyConst2) = (1, 2)
<console>:7: error: not found: value MyConst1
val (MyConst1, MyConst2) = (1, 2)
^
<console>:7: error: not found: value MyConst2
val (MyConst1, MyConst2) = (1, 2)
^
我认为实际上这只是命名约定的问题,但这似乎 Scala 以不同的方式处理具有大写/小写首字母的标识符。
【问题讨论】:
-
这是“值定义左侧”的模式匹配示例,如本答案所述“以大写开头的标识符在模式匹配中被视为常量”:naming convention for scala constants