Junior — Middle
Πώς εφαρμόζουμε μια έκφραση lambda στο πλαίσιο μιας λειτουργίας επέκτασης σε Kotlin;
sobes.tech AI
Απάντηση από AI
Στην Kotlin, οι εκφράσεις lambda χρησιμοποιούνται συχνά μαζί με λειτουργίες επέκτασης για τη βελτίωση της αναγνωσιμότητας και της άνεσης του κώδικα. Μια λειτουργία επέκτασης επιτρέπει την προσθήκη μιας νέας μεθόδου σε μια υπάρχουσα κλάση χωρίς κληρονομικότητα.
Παράδειγμα χρήσης μιας lambda σε μια λειτουργία επέκτασης:
// Λειτουργία επέκτασης για List<Int>, που εφαρμόζει μια lambda σε κάθε στοιχείο και επιστρέφει το άθροισμα
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 } // πολλαπλασιάζει κάθε στοιχείο με 2 και το αθροίζει
println(result) // Εκτυπώνει 20
}
Εδώ, το sumByLambda είναι μια λειτουργία επέκτασης για το List<Int>, που δέχεται μια έκφραση lambda transform και την εφαρμόζει σε κάθε στοιχείο της λίστας.