我注意到在尝试将元组解包为常量时,在Scala中会出现以下行为:
我注意到在Scala中尝试将元组解包为常量时会出现以下行为:
scala> val (A, B, C) = (1, 2, 3)
<console>:5: error: not found: value A
val (A, B, C) = (1, 2, 3)
^
<console>:5: error: not found: value B
val (A, B, C) = (1, 2, 3)
^
<console>:5: error: not found: value C
val (A, B, C) = (1, 2, 3)
^
scala> val (u, v, w) = (1, 2, 3)
u: Int = 1
v: Int = 2
w: Int = 3
这是因为Scala的模式匹配机制会自动假设模式中以大写字母开头的所有标识符都是常量,还是由于其他原因呢?
谢谢!
Tuple2[Int, Int]
,而它被类型擦除为Tuple2[Any, Any]
? - Daniel C. Sobral