Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktPmLmLA 346 of 522 menu
◀ ▶

Последний аргумент лямбды в Kotlin

Когда лямбда - последний аргумент функции, её можно писать после закрывающей скобки вызова. Такой прием называют trailing lambda:

fun withPrefix(prefix: String, block: () -> Unit) { print("$prefix: ") block() } withPrefix("log") { println("saved") }

Запись с лямбдой снаружи скобок эквивалентна передаче её последним аргументом внутри скобок:

fun mapValue(n: Int, transform: (Int) -> Int): Int { return transform(n) } println(mapValue(5) { it * 10 }) println(mapValue(5, { it * 10 }))

Если после лямбды других аргументов нет, пустые скобки у вызова иногда можно опустить - как у repeat:

repeat(2) { println("step") }

Напишите функцию onReady с одной лямбдой () -> Unit. Вызовите её, передав блок за скобками, который выводит "ready".

Напишите функцию formatNum: целое и лямбда (Int) -> String. Вызовите с числом 12 и блоком снаружи скобок, который возвращает строку "n=12".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить