Sobes.tech
Junior — Middle

Kuidas rakendada lambdaavaldisi Kotlinis laiendamise funktsiooni kontekstis?

sobes.tech AI

Vastus AI-lt

In Kotlin, lambda expressions are often used together with extension functions to improve code readability and convenience. An extension function allows adding a new method to an existing class without inheritance.

Example of using a lambda in an extension function:

// Extension function for List<Int>, which applies a lambda to each element and returns the sum
fun List<Int>.sumByLambda(transform: (Int) -> Int): Int {
    var sum = 0
    for (item in this) {
        sum += transform(item)
    }
    return sum
}

fun main() {
    val numbers = listOf(1, 2, 3, 4)
    val result = numbers.sumByLambda { it * 2 } // multiply each element by 2 and sum
    println(result) // Prints 20
}

Here, sumByLambda is an extension function for List<Int>, which takes a lambda expression transform and applies it to each element of the list.