Почему переменная не может быть стабильным идентификатором?

Следующее

def mMatch(s: String) = {
    var target: String = "a"
    s match {
        case `target` => println("It was " + target)
        case _ => println("It was something else")
    }
}

не компилируется:

ошибка: требуется стабильный идентификатор, но цель найдена. case target => println ("Это было" + target)

Почему Scala требует val , а не var . Думаю, «потому что» было бы приемлемым ответом, но у меня есть чувство, что есть более глубокая причина, по которой я упускаю.

36
задан Malvolio 16 August 2011 в 18:56
поделиться