Junior — Middle
Jak zastosować wyrażenie lambda w kontekście funkcji rozszerzającej w Kotlin?
sobes.tech AI
Odpowiedź od AI
W Kotlinie wyrażenia lambda są często używane razem z funkcjami rozszerzającymi, aby poprawić czytelność i wygodę kodu. Funkcja rozszerzająca pozwala dodać nową metodę do istniejącej klasy bez dziedziczenia.
Przykład użycia lambda w funkcji rozszerzającej:
// Funkcja rozszerzająca dla List<Int>, która stosuje lambda do każdego elementu i zwraca 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 } // mnoży każdy element przez 2 i sumuje
println(result) // Wypisze 20
}
Tutaj sumByLambda jest funkcją rozszerzającą dla List<Int>, która przyjmuje wyrażenie lambda transform i stosuje je do każdego elementu listy.