الفرق بين المراجعتين لصفحة: «Kotlin/collections/sumByDouble»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>sumByDouble()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>sumByDouble()‎</code> مجموع ا...'
 
طلا ملخص تعديل
 
(3 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>sumByDouble()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>sumByDouble()‎</code> في Kotlin}}</noinclude>
تعيد الدالة<code>sumByDouble()‎</code> مجموع  العناصر المُعادة من الدالة <code>selector</code> مطبقةً على عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها.  
تجمع الدالة <code>sumByDouble()‎</code> جميع نواتج تطبيق دالة معيَّنة على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها.
 
الفرق بين الدالة <code>sumByDouble()‎</code> والدالة <code>[[Kotlin/collections/sumBy|sumBy()‎]]</code> هو في نوع القيمة التي تستطيع الدالة الممرَّر إلى كلٍّ منهما إعادتها، إذ تعيد الدالة المُمرَّرة إلى [[Kotlin/collections/sumBy|<code>sumBy()‎</code>]] عددًّا صحيحًا (integer) بينما يمكن أن تعيد الدالة الممررة إلى <code>sumByDouble()‎</code> عددًا عشريًّا مضاعفًا (double).  


==البنية العامة==
==البنية العامة==
يمكن استدعاء الدالة<code>sumByDouble()‎</code> عبر [[Kotlin/Array|المصفوفات]]:<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
يمكن استدعاء الدالة <code>sumByDouble()‎</code> مع [[Kotlin/Array|المصفوفات]] و<nowiki/>[[Kotlin/collections|المجموعات]]:<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.sumBy(selector: (T) -> Int): Int
inline fun <T> Array<out T>.sumByDouble(
inline fun ByteArray.sumBy(selector: (Byte) -> Int): Int
    selector: (T) -> Double
inline fun ShortArray.sumBy(selector: (Short) -> Int): Int
): Double
inline fun IntArray.sumBy(selector: (Int) -> Int): Int
inline fun ByteArray.sumByDouble(
inline fun LongArray.sumBy(selector: (Long) -> Int): Int
    selector: (Byte) -> Double
inline fun FloatArray.sumBy(selector: (Float) -> Int): Int
): Double
inline fun DoubleArray.sumBy(selector: (Double) -> Int): Int
inline fun ShortArray.sumByDouble(
inline fun BooleanArray.sumBy(
    selector: (Short) -> Double
     selector: (Boolean) -> Int
): Double
): Int
inline fun IntArray.sumByDouble(
inline fun CharArray.sumBy(selector: (Char) -> Int): Int
    selector: (Int) -> Double
 
): Double
</syntaxhighlight>يمكن استدعاء الدالة<code>sumByDouble()‎</code> عبر  [[Kotlin/collections|المجموعات]] :<syntaxhighlight lang="kotlin">
inline fun LongArray.sumByDouble(
inline fun <T> Iterable<T>.sumBy(selector: (T) -> Int): Int
    selector: (Long) -> Double
 
): Double
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
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(
مجموع  العناصر المُعادة من الدالة <code>selector</code> مطبقةً على عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها.
    selector: (T) -> Double
): Double
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> التي تدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة [[Kotlin/inline functions|الدوال المباشرة (inline functions)]]).
== المعاملات==
===<code>selector</code>===
الدالة التي يراد تطبيقها على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة وتجميع الناتج الذي تعيده.
== القيمة المعادة ==
تعاد القيمة الناتجة عن جمع نواتج تطبيق الدالة <code>selector</code> على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة.


==أمثلة==
==أمثلة==
===استخدام الدالة <code>()sumByDouble</code> مع المصفوفات===
<nowiki/><nowiki/><nowiki/>استعمال الدالة <code>()sumByDouble</code> لجمع قيم عناصر مصفوفة مضافًا إلى كلِّ عنصر منها القيمة 0.9:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية  <nowiki/>[[Kotlin/Array|مصفوفة]] <nowiki/>باسم <code>array</code> مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf‎</code>، <nowiki/>ثم تستخدم الدالة<code>()sumByDouble</code>  على <code>array</code>مع تمرير دالة كوسيط، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val array = arrayOf(3, 5, 7, 2 , 6, 9)
    val array = arrayOf(3, 5, 7, 2, 6, 9)
      
 
println(array.sumBy {it*it} )// 204
     println(array.sumByDouble { it + 0.9 }) // 37.4
}
}
</syntaxhighlight>
</syntaxhighlight>
==أنظر أيضًا==
==انظر أيضًا==
* <code>[[Kotlin/collections/sum|sum()]]</code>‎ : تعيد  مجموع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت عبرها.
* الدالة <code>[[Kotlin/collections/sum|sum()]]</code>: تجمع جميع قيم عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها ثمَّ تعيد الناتج. 
* <code>[[Kotlin/collections/subtract|subtract()]]</code>‎ : تعيد [[Kotlin/Set|مجموعةً]] (<code>Set</code>)  تضم عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت عبرها والتي لا توجد في  [[Kotlin/collections|المجموعة]] المُمرّرة. 
* الدالة <code>[[Kotlin/collections/sumBy|sumBy()]]</code>: تجمع جميع نواتج تطبيق دالة معيَّنة على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها.
* الدالة <code>[[Kotlin/collections/average|average()‎]]</code>: تحسب متوسط (average) عناصر المصفوفة أو المجموعة ([[Kotlin/collections|Collection]]) المعطاة لها.


==مصادر==
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sum-by.html الدالة  sumByDouble()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sum-by-double.html صفحة الدالة sumByDouble()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Collection]]

المراجعة الحالية بتاريخ 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) المعطاة لها.

مصادر