الدالة sumByDouble()‎ في Kotlin

من موسوعة حسوب
مراجعة 11:33، 8 سبتمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تجمع الدالة sumByDouble()‎ جميع نواتج تطبيق دالة معيَّنة على كل عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها.

الفرق بين الدالة sumByDouble()‎ والدالة sumBy()‎ هو في نوع القيمة التي تستطيع الدالة الممرَّر إلى كلٍّ منهما إعادتها، إذ تعيد الدالة المُمرَّرة إلى sumBy()‎ عددًّا صحيحًا (integer) بينما يمكن أن تعيد الدالة الممررة إلى sumByDouble()‎ عددًا عشريًّا مضاعفًا (double).

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

يمكن استدعاء الدالة sumByDouble()‎ مع المصفوفات والمجموعات:

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

inline fun <T> Iterable<T>.sumByDouble(
    selector: (T) -> Double
): Double

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

 المعاملات

selector

الدالة التي يراد تطبيقها على كل عنصر من عناصر المصفوفة أو المجموعة المعطاة وتجميع الناتج الذي تعيده.

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

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

أمثلة

استعمال الدالة ()sumByDouble لجمع قيم عناصر مصفوفة مضافًا إلى كلِّ عنصر منها القيمة 0.9:

fun main(args: Array<String>) {
    val array = arrayOf(3, 5, 7, 2, 6, 9)

    println(array.sumByDouble { it + 0.9 }) // 37.4
}

انظر أيضًا

  • الدالة sum()‎: تجمع جميع قيم عناصر المصفوفة أو المجموعة التي استُدعيت معها ثمَّ تعيد الناتج. 
  • الدالة sumBy()‎: تجمع جميع نواتج تطبيق دالة معيَّنة على كل عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها.
  • الدالة average()‎: تحسب متوسط (average) عناصر المصفوفة أو المجموعة (Collection) المعطاة لها.

مصادر