переменная не распознается за пределами регистра - PullRequest
0 голосов
/ 24 марта 2019

Пожалуйста, помогите мне понять, почему переменная 'afd' не распознается вне оператора case. Я запускаю приведенный ниже код и получаю ошибку ниже: Спасибо!

1 match {
  case 0 => "zero"
  case 1 => val afd = "one"
}

afd.show()

res1784: Any = ()
<console>:492: error: not found: value afd
       afd.show()
       ^

1 Ответ

3 голосов
/ 24 марта 2019

Есть пара проблем. Во-первых, вы пытаетесь достичь значения afd вне области видимости. Он определен в операторе match и доступен только там (в данном конкретном case). match возвращает значение, поэтому вы можете использовать что-то вроде:

val afd = 1 match {
  case 0 => "zero"
  case 1 => "one"
}

Во-вторых, даже если он был доступен вне match, afd имеет тип String, а String не имеет show метода. Вам придется распечатать его, например, print(afd).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...