Skip to content

Latest commit

 

History

History
44 lines (32 loc) · 1.35 KB

Function returns lambda.md

File metadata and controls

44 lines (32 loc) · 1.35 KB

Function returns lambda

Статус Ожидание Реальность
Функция, вернувшая лямбду, работает без крашей; лямбду можно вызвать Реальность совпадает с ожиданием

Пояснения

Опишем функцию, возвращающую какую-нибудь лямбду, на Kotlin-е:

// Functions.kt

fun returnLambda(): () -> Unit {
    println("Function that returns lambda")

    return {
        println("Lambda inside return")
    }
}

fun returnParametrizedLambda(): (String) -> Unit {
    println("Function that returns parametrized lambda")

    return {
        println("returnParametrizedLambda | it: $it")
    }
}

private fun example() {
    FunctionsKt.returnLambda().invoke()
    FunctionsKt.returnParametrizedLambda().invoke("123")
}

На стороне Swift-а использование тоже выглядит удобным:

functionsExample.returnLambda()()
let _ = functionsExample.returnParametrizedLambda()("123")

Оглавление