Koshkasobaka
@Koshkasobaka

Почему в методе нельзя сделать инкрементирование переменной, переданной в аргументы?

Причем передаю в метод изменяемую переменную var number = 5
printNumbers(number: Int) {
number++ // подчеркивает красным, предлагая создать локальную переменную
}

Работает только если в методе перезаписать:
var number = number
Но выглядит как-то глупо.. или так и нужно делать?
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
iLLuzor
@iLLuzor
Java, Kotlin, Android Developer
Таковы особенности kotlin. Аргументы функций неизменяемы (условно можно считать, что они val).
Не помню ни одного случая, когда мне было бы нужно изменять аргумент функции.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Koshkasobaka
@Koshkasobaka Автор вопроса
Значит выход только один - всегда перезаписывать в локальную переменную?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы