У меня медленное утро. Я думал, что ссылка на существующий val в выражении case будет в порядке. Но, похоже, это интерпретируется как определение локальной переменной. Простое прибегание к помощи не помогло, и у меня нет при себе книжки с лестницей.
Ниже приведен синтаксис, который позволил бы мне сопоставить регистр (b, c)
scala> val (a,b,c) = (1,2,3)
a: Int = 1
b: Int = 2
c: Int = 3
scala> (2,3) match {
| case (a,b) => 100
| case (b,c) => 200
| case _ => 999
| }
<console>:8: error: unreachable code
case (b,c) => 200