اللامبدا
دالة مجهولة تُكتب بين أقواس معقوفة:
val add = { a: Int, b: Int -> a + b }
println(add(2, 3)) // 5
val square = { x: Int -> x * x }
it للمعامل الوحيد
val double = { it: Int -> it * 2 } // أو ببساطة
val nums = listOf(1, 2, 3)
nums.forEach { println(it) } // it = العنصر الحالي
الدوال العليا (Higher-Order)
دوال تأخذ دوالًا أخرى كمعاملات:
fun operate(a: Int, b: Int, op: (Int, Int) -> Int): Int {
return op(a, b)
}
println(operate(4, 2) { x, y -> x + y }) // 6
لامبدا كآخر معامل
إذا كان آخر معامل لامبدا، يمكن إخراجها خارج الأقواس:
nums.filter { it > 1 }
nums.map { it * 10 }
🎯 التالي: المجموعات.