Scala-способ инициализации членов?
В Java мы можем расширить текущую область видимости в методе, чтобы ссылаться на переменные с this
если он скрыт формальным параметром. Типичным примером является то, что мы делаем в конструкторах:
class A {
int i;
A(int i) { this.i = i; }
}
Есть ли в Scala подобный трюк? Например, у меня есть такое определение:
class A(i: Int) {
val i = i; // ?
}
Тривиальным решением было бы переименование одного из параметров в другое (например, использование подчеркивания в C++), но я бы хотел этого избежать.
Есть ли альтернативы этому?
Заранее спасибо!
1 ответ
Решение
Это точно так же? Тогда просто объявите это val
(или же var
):
class A(val i: Int) {}
Разве это не то же самое? Тогда вам придется использовать два имени.