Как ссылаться на val в регистре? - PullRequest
4 голосов
/ 03 сентября 2010

У меня медленное утро. Я думал, что ссылка на существующий 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

1 Ответ

11 голосов
/ 03 сентября 2010

Вы должны либо прописать val с заглавных букв, либо вы должны поместить идентификаторы в кавычки следующим образом:

  case (`b`, `c`) => 200
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...