الفرق بين المراجعتين لصفحة: «Kotlin/collections/sumBy»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>sumBy()</code> في | <noinclude>{{DISPLAYTITLE: الدالة <code>sumBy()</code> في Kotlin}}</noinclude> | ||
تجمع الدالة <code>sumBy()</code> جميع نواتج تطبيق دالة معيَّنة على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها. | |||
الفرق بين الدالة <code>sumBy()</code> والدالة <code>[[Kotlin/collections/sumByDouble|sumByDouble()]]</code> هو في نوع القيمة التي تستطيع الدالة الممرَّر إلى كلٍّ منهما إعادتها، إذ تعيد الدالة المُمرَّرة إلى <code>sumBy()</code> عددًّا صحيحًا (integer) بينما يمكن أن تعيد الدالة الممرَّرة إلى <code>[[Kotlin/collections/sumByDouble|sumByDouble()]]</code> عددًا عشريًّا مضاعفًا (double). | |||
==البنية العامة== | ==البنية العامة== | ||
يمكن استدعاء الدالة<code>sumBy()</code> | يمكن استدعاء الدالة <code>sumBy()</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>.sumBy(selector: (T) -> Int): Int | ||
inline fun ByteArray.sumBy(selector: (Byte) -> Int): Int | inline fun ByteArray.sumBy(selector: (Byte) -> Int): Int | ||
سطر 16: | سطر 18: | ||
inline fun CharArray.sumBy(selector: (Char) -> Int): Int | inline fun CharArray.sumBy(selector: (Char) -> Int): Int | ||
inline fun <T> Iterable<T>.sumBy(selector: (T) -> Int): Int | inline fun <T> Iterable<T>.sumBy(selector: (T) -> Int): Int | ||
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> | </syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> التي تدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة<nowiki/> [[Kotlin/inline functions|الدوال المباشرة (inline functions)]]). | ||
== المعاملات == | |||
=== <code>selector</code> === | |||
الدالة التي يراد تطبيقها على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة وتجميع الناتج الذي تعيده. | |||
== القيمة | == القيمة المعادة == | ||
تعاد القيمة الناتجة عن جمع نواتج تطبيق الدالة <code>selector</code> على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة. | |||
==أمثلة== | ==أمثلة== | ||
<nowiki/><nowiki/><nowiki/>استعمال الدالة <code>()sumBy</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.sumBy { it * it }) // 204 | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | ==انظر أيضًا== | ||
* <code>[[Kotlin/collections/sum|sum()]]</code> | * الدالة <code>[[Kotlin/collections/sum|sum()]]</code>: تجمع جميع قيم عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها ثمَّ تعيد الناتج. | ||
* <code>[[Kotlin/collections/ | * الدالة <code>[[Kotlin/collections/sumByDouble|sumByDouble()]]</code>: تجمع جميع نواتج تطبيق دالة معيَّنة على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها. | ||
* الدالة <code>[[Kotlin/collections/average|average()]]</code>: تحسب متوسط (average) عناصر المصفوفة أو المجموعة ([[Kotlin/collections|Collection]]) المعطاة لها. | |||
* الدالة [[Kotlin/collections/subtract|<code>subtract()</code>]]: تستثني العناصر المشتركة بين كائنين. | |||
==مصادر== | ==مصادر== | ||
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sum-by.html الدالة | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sum-by.html صفحة الدالة sumBy() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin | [[تصنيف:Kotlin Function]] | ||
[[تصنيف:Kotlin Collection]] |
المراجعة الحالية بتاريخ 11:26، 8 سبتمبر 2018
تجمع الدالة sumBy()
جميع نواتج تطبيق دالة معيَّنة على كل عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها.
الفرق بين الدالة sumBy()
والدالة sumByDouble()
هو في نوع القيمة التي تستطيع الدالة الممرَّر إلى كلٍّ منهما إعادتها، إذ تعيد الدالة المُمرَّرة إلى sumBy()
عددًّا صحيحًا (integer) بينما يمكن أن تعيد الدالة الممرَّرة إلى sumByDouble()
عددًا عشريًّا مضاعفًا (double).
البنية العامة
يمكن استدعاء الدالة 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
inline fun <T> Iterable<T>.sumBy(selector: (T) -> Int): Int
يُلاحَظ وجود الكلمة المفتاحية inline
التي تدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)).
المعاملات
selector
الدالة التي يراد تطبيقها على كل عنصر من عناصر المصفوفة أو المجموعة المعطاة وتجميع الناتج الذي تعيده.
القيمة المعادة
تعاد القيمة الناتجة عن جمع نواتج تطبيق الدالة selector
على كل عنصر من عناصر المصفوفة أو المجموعة المعطاة.
أمثلة
استعمال الدالة ()sumBy
لجمع مربعات عناصر مصفوفة:
fun main(args: Array<String>) {
val array = arrayOf(3, 5, 7, 2, 6, 9)
println(array.sumBy { it * it }) // 204
}
انظر أيضًا
- الدالة
sum()
: تجمع جميع قيم عناصر المصفوفة أو المجموعة التي استُدعيت معها ثمَّ تعيد الناتج. - الدالة
sumByDouble()
: تجمع جميع نواتج تطبيق دالة معيَّنة على كل عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها. - الدالة
average()
: تحسب متوسط (average) عناصر المصفوفة أو المجموعة (Collection) المعطاة لها. - الدالة
subtract()
: تستثني العناصر المشتركة بين كائنين.