الدالة sumBy()‎ في لغة Kotlin

من موسوعة حسوب

تعيد الدالةsumBy()‎ مجموع العناصر المُعادة من الدالة selector مطبقةً على عناصر المصفوفة أو المجموعة التي استُدعيت عبرها.

البنية العامة

يمكن استدعاء الدالةsumBy()‎ عبر المصفوفات:

inline fun <T> Array<out T>.sumBy(selector: (T) -> Int): Int 
inline fun ByteArray.sumBy(selector: (Byte) -> Int): Int
inline fun ShortArray.sumBy(selector: (Short) -> Int): Int 
inline fun IntArray.sumBy(selector: (Int) -> Int): Int 
inline fun LongArray.sumBy(selector: (Long) -> Int): Int 
inline fun FloatArray.sumBy(selector: (Float) -> Int): Int 
inline fun DoubleArray.sumBy(selector: (Double) -> Int): Int 
inline fun BooleanArray.sumBy(
    selector: (Boolean) -> Int
): Int 
inline fun CharArray.sumBy(selector: (Char) -> Int): Int

يمكن استدعاء الدالةsumBy()‎ عبر المجموعات :

inline fun <T> Iterable<T>.sumBy(selector: (T) -> Int): Int

يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).

القيمة المُعادة

مجموع العناصر المُعادة من الدالة selector مطبقةً على عناصر المصفوفة أو المجموعة التي استُدعيت عبرها.

أمثلة

استخدام الدالة ()sumBy مع المصفوفات

تعرف الشيفرة الآتية  مصفوفة باسم array مكونة من ستة أعداد باستخدام الدالة ()arrayOf‎، ثم تستخدم الدالة()sumBy  على arrayمع تمرير دالة كوسيط، ثم تطبع الناتج:

fun main(args: Array<String>) {
val array = arrayOf(3, 5, 7, 2 , 6, 9)
    
println(array.sumBy {it*it} )// 204
}

أنظر أيضًا

مصادر