Что выведет код Junior Функции, расширения и scope-функции обновлено
Что возвращают scope-функции
Вопрос
Что выведет код? По строке на каждый вывод.
fun main() {
val a = "kotlin".let { it.length }
val b = "kotlin".also { it.length }
val c = StringBuilder("x").apply { append("y") }.toString()
val d = "kotlin".run { uppercase() }
val e = 5.takeIf { it > 10 }
println(a)
println(b)
println(c)
println(d)
println(e)
}
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: 6, kotlin, xy, KOTLIN, null. let вернул результат лямбды, длину 6. also вернул саму строку, результат лямбды отброшен. apply вернул StringBuilder после добавления. run дал строку как this и вернул результат uppercase(). takeIf вернул null, потому что условие ложно.
Что выведет
6
kotlin
xy
KOTLIN
null
Разбор
let вернул результат лямбды, длину 6. also вернул саму строку, результат лямбды отброшен. apply вернул StringBuilder после добавления. run дал строку как this и вернул результат uppercase(). takeIf вернул null, потому что условие ложно.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.