Comments 4
Жаль что не получилось сделать это без введения новой функции на каждый чих, а то выглядит как набор костылей.
run - используется для настройки объекта и вычисления результата
А дальше пример с apply, почему-то.
Спасибо, пропустил!.
Насчет набора костылей - как мне кажется, сама идея очень красивая, но пару раз видел, как их начинали использовать не по назначению и код становился просто нечитаем. Поэтому как и любая другая синтаксическая конструкция - она может использоваться как на пользу так и на вред.
У нас же цель не только написать код, но и то, чтобы он был легко читаем)
29: nop
Забавно.
Проверил на kotlinc-jvm 1.5.31
и действительно есть nop
.
Похоже, где-то компилятор недокрутили.
val a = b.let { nonNullable -> nonNullable } ?: "Equal to 'null' or not set"
Если мы хотим получить nonNullable внутри let, нужно использовать safe call operator. В противном случае у нас будет nullable)
Правильно так:
val a = b?.let { nonNullable -> nonNullable } ?: "Equal to 'null' or not set"
Функции области видимости (Scope Function) в Kotlin