Size: a a a

Kotlin Community

2020 April 03

AN

Alexander Nozik in Kotlin Community
Bogdan Panchenko
блин, в другом месте видел значит
Нет конечно, я еще пойму, когда виртуальные проперти на что-то ссылаются. Но чтобы инициализация на основе чего-то мутабельного - это ни-ни
источник

PE

Pavel Erokhin in Kotlin Community
Перед ++ нельзя разве null safely оператор ставить?
И идея даже предлагает поставить
источник

PE

Pavel Erokhin in Kotlin Community
Как только ставлю валиться Variable expected
источник

QH

Quantum Harmonizer in Kotlin Community
Pavel Erokhin
Перед ++ нельзя разве null safely оператор ставить?
И идея даже предлагает поставить
теоретически, в зависимости от того, plus там вызывается или plusAssign, результат разный, потому что первому нужна переменная, а второму — выражение
источник

VP

Vladimir Petrakovich in Kotlin Community
Quantum Harmonizer
теоретически, в зависимости от того, plus там вызывается или plusAssign, результат разный, потому что первому нужна переменная, а второму — выражение
inc() же
источник

PE

Pavel Erokhin in Kotlin Community
+1
источник

QH

Quantum Harmonizer in Kotlin Community
🤦‍♂️ точно переменная
источник

PE

Pavel Erokhin in Kotlin Community
Ладно хрен с этим, сделал через ?.let {}
источник

QH

Quantum Harmonizer in Kotlin Community
Pavel Erokhin
Ладно хрен с этим, сделал через ?.let {}
и куда ему присваиваться, если it — не переменная?
источник

VP

Vladimir Petrakovich in Kotlin Community
Pavel Erokhin
Как только ставлю валиться Variable expected
Ну она правильно говорит - инкрементить можно только переменную. Куда результат-то засовывать? Иногда за инкрементом скрыт вызов метода, но это видимо не тот случай.
источник

PE

Pavel Erokhin in Kotlin Community
Quantum Harmonizer
и куда ему присваиваться, если it — не переменная?
Переменная
источник

PE

Pavel Erokhin in Kotlin Community
Мне возвращает метод ссылку на нее

getPlayer(name)?.meta?.killingTicks?.plus(1)

Это
работает
источник

PE

Pavel Erokhin in Kotlin Community
Но через let короче и чище выглядит
источник

VP

Vladimir Petrakovich in Kotlin Community
Pavel Erokhin
Мне возвращает метод ссылку на нее

getPlayer(name)?.meta?.killingTicks?.plus(1)

Это
работает
Ссылка на переменную - это как, делегат что ли?
источник

PE

Pavel Erokhin in Kotlin Community
На поле* :), я это случайно, я думал об одном - написал другое
источник

PE

Pavel Erokhin in Kotlin Community
getPlayer(name)?.let { it.meta.killingTicks++ } вот так через let сделал
источник

BP

Bogdan Panchenko in Kotlin Community
Pavel Erokhin
getPlayer(name)?.let { it.meta.killingTicks++ } вот так через let сделал
А почему просто не + 1 ?
источник

VP

Vladimir Petrakovich in Kotlin Community
Pavel Erokhin
На поле* :), я это случайно, я думал об одном - написал другое
Судя по коду, таки на объект
источник

VP

Vladimir Petrakovich in Kotlin Community
И первый пример не работает, он вычисляет выражение, но не инкрементит поле
источник

PE

Pavel Erokhin in Kotlin Community
Bogdan Panchenko
А почему просто не + 1 ?
+= 1 тогда
источник