в Java, что означает символ @?

Ответ Serj дает лучший способ написать это, но для ответа на ваш вопрос о том, почему ваша вторая версия не работает, вы можете перейти к спецификации Scala , что делает различие между определениями переменных и .

Из «4.2. Объявления переменных и определения»:

Определения переменных могут альтернативно имеют рисунок (§8.1) как левую сторону. Определение переменной var p = e, где p - это шаблон, отличный от простого имени или имени, за которым следует двоеточие, и тип расширяется таким же образом (§4.1) в качестве определения значения val p = e, за исключением того, что свободный имена в p вводятся как изменяемые переменные, а не значения.

Из «6.15 Assignments»:

Интерпретация присваивания простой переменной x = e зависит от определения x. Если x обозначает изменчивую переменную, то присваивание изменяет текущее значение x как результат оценки выражения e.

(first, rest) вот шаблон , а не простая переменная, поэтому она работает в определении переменной, но не в присваивании.

35
задан edtheprogrammerguy 5 August 2015 в 01:35
поделиться