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 қабул мекунад ва ба ҳар як унсури рӯйхат татбиқ мекунад.