Size: a a a

Kotlin Community

2020 February 19

BP

Bogdan Panchenko in Kotlin Community
Alexey Otts
Memory mapped раздел?
Нет, пока ОЗУ хватает +- все нормально
источник

KD

Konstantin Dovnar in Kotlin Community
Хм, а почему оно вот так? Там перед этим проверка на налл, но всё-равно вот такая ошибка выдаётся. 🤔

Я вижу текст, но не очень пойму, чем val в отдельном модуле отличается от val не в отдельном модуле.
источник

VP

Vladimir Petrakovich in Kotlin Community
Konstantin Dovnar
Хм, а почему оно вот так? Там перед этим проверка на налл, но всё-равно вот такая ошибка выдаётся. 🤔

Я вижу текст, но не очень пойму, чем val в отдельном модуле отличается от val не в отдельном модуле.
Обсуждали же, что там внутри геттера может быть всё что угодно
источник

KD

Konstantin Dovnar in Kotlin Community
Vladimir Petrakovich
Обсуждали же, что там внутри геттера может быть всё что угодно
Так. Но так же, всё что угодно может быть внутри этого модуля. Всё ещё не особо вижу различий. 🤔
источник

VP

Vladimir Petrakovich in Kotlin Community
Konstantin Dovnar
Так. Но так же, всё что угодно может быть внутри этого модуля. Всё ещё не особо вижу различий. 🤔
Внутри этого модуля компилятор прекрасно видит, что там
источник

KD

Konstantin Dovnar in Kotlin Community
Vladimir Petrakovich
Внутри этого модуля компилятор прекрасно видит, что там
Н-да. Теперь бегать везде !! впиндюривать. 😔
источник

AL

Alexander Levin in Kotlin Community
Konstantin Dovnar
Так. Но так же, всё что угодно может быть внутри этого модуля. Всё ещё не особо вижу различий. 🤔
Предположу, что есть разница в доступной информации. Про пропертю внутри модуля легко проверять, что она не open и setter'а нету и геттер примитивный. В другом модуле возможно эта инфа не сохраняется.
источник

AL

Alexander Levin in Kotlin Community
Konstantin Dovnar
Н-да. Теперь бегать везде !! впиндюривать. 😔
?.let же или создание локальной переменной
источник

KD

Konstantin Dovnar in Kotlin Community
Alexander Levin
?.let же или создание локальной переменной
Это мой класс, который я перенёс в другой модуль, я точно знаю, что там нет ничего кастомного в геттере. !! попроще будет, чем переписывать всё.
источник

AL

Alexander Levin in Kotlin Community
Konstantin Dovnar
Это мой класс, который я перенёс в другой модуль, я точно знаю, что там нет ничего кастомного в геттере. !! попроще будет, чем переписывать всё.
Так просто почему всё? Вместо прямой проверки просто захватить текущее значение проперти в let. Обычно это не дикий рефакторинг.
источник

AL

Alexander Levin in Kotlin Community
Но ситуация сама по себе надоедливая, да.
источник

KD

Konstantin Dovnar in Kotlin Community
Alexander Levin
Так просто почему всё? Вместо прямой проверки просто захватить текущее значение проперти в let. Обычно это не дикий рефакторинг.
Значение передаётся в другую функцию. !! — вставить два символа и всё в целом ясно.
let конечно позволит это тоже сделать, но чот выглядеть это будет так себе, как по мне.
источник

NK

Nikita Krutko in Kotlin Community
Пусть есть класс, у которого один из аргументов это лямбда выражение
class Operation(
   val a: Int,
   val exec: (b: Int) -> Int
)
Можно ли как-то внутри этого лямда-выражения получить поле класса и, например, вернуть a + b? Т.е. вызвать this в контексте класса Operation
источник

AM

Andrew Mikhaylov in Kotlin Community
Konstantin Dovnar
Это мой класс, который я перенёс в другой модуль, я точно знаю, что там нет ничего кастомного в геттере. !! попроще будет, чем переписывать всё.
А вдруг через месяц требования поменяются и там будет что-то другое происходить? А в билд-кешах текущий модуль останется as-is. Тут-то раздельная компиляция за причинное место и укусит :>
источник

KD

Konstantin Dovnar in Kotlin Community
Andrew Mikhaylov
А вдруг через месяц требования поменяются и там будет что-то другое происходить? А в билд-кешах текущий модуль останется as-is. Тут-то раздельная компиляция за причинное место и укусит :>
Значит прилетит по голове с багом.
источник

KD

Konstantin Dovnar in Kotlin Community
Ой, тут запретили стикеры, злюки.
источник

AN

Alexander Nozik in Kotlin Community
Konstantin Dovnar
Ой, тут запретили стикеры, злюки.
никогда не разрешали
источник

AM

Andrew Mikhaylov in Kotlin Community
Konstantin Dovnar
Ой, тут запретили стикеры, злюки.
Никакого праздника!
https://www.youtube.com/watch?v=P5EG9A26tL8
(простите)
источник

NK

Nikita Krutko in Kotlin Community
Nikita Krutko
Пусть есть класс, у которого один из аргументов это лямбда выражение
class Operation(
   val a: Int,
   val exec: (b: Int) -> Int
)
Можно ли как-то внутри этого лямда-выражения получить поле класса и, например, вернуть a + b? Т.е. вызвать this в контексте класса Operation
Я сейчас пришёл к тому, что получается вот такое...
class Operation(
   val a: Int,
   val exec: (op: Operation, b: Int) -> Int
)


И вызов выглядит как op.exec(op, b), что выглядит как-то прям не оч
источник

NK

Nikita Krutko in Kotlin Community
Хотя, если написать функцию-обёртку, которая будет это делать... То не так уж и плохо, но всё равно явный костыль
источник