Я заметил следующее поведение в scala при попытке распаковать кортежи в vals:
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 автоматически предполагает, что все идентификаторы, начинающиеся с capitals внутри шаблонов, являются константами, или это связано с какой-то другой причиной?
Спасибо!