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.