الفرق بين المراجعتين لصفحة: «Kotlin/collections/sumBy»
< Kotlin | collections
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>sumBy()</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>sumBy()</code> مجموع عناصر Ko...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>sumBy()</code> في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة <code>sumBy()</code> في لغة Kotlin}}</noinclude> | ||
تعيد الدالة<code>sumBy()</code> مجموع عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. | تعيد الدالة<code>sumBy()</code> مجموع العناصر المُعادة من الدالة <code>selector</code> مطبقةً على عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. | ||
==البنية العامة== | ==البنية العامة== | ||
يمكن استدعاء الدالة<code>sumBy()</code> عبر [[Kotlin/Array|المصفوفات]]:<nowiki/><nowiki/><syntaxhighlight lang="kotlin"> | يمكن استدعاء الدالة<code>sumBy()</code> عبر [[Kotlin/Array|المصفوفات]]:<nowiki/><nowiki/><syntaxhighlight lang="kotlin"> | ||
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 | |||
fun | inline fun DoubleArray.sumBy(selector: (Double) -> Int): Int | ||
fun | inline fun BooleanArray.sumBy( | ||
fun | selector: (Boolean) -> Int | ||
fun | ): Int | ||
fun | inline fun CharArray.sumBy(selector: (Char) -> Int): Int | ||
fun | |||
</syntaxhighlight>يمكن استدعاء الدالة<code>sumBy()</code> عبر [[Kotlin/collections|المجموعات]] :<syntaxhighlight lang="kotlin"> | </syntaxhighlight>يمكن استدعاء الدالة<code>sumBy()</code> عبر [[Kotlin/collections|المجموعات]] :<syntaxhighlight lang="kotlin"> | ||
inline fun <T> Iterable<T>.sumBy(selector: (T) -> Int): Int | |||
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | |||
== القيمة المُعادة == | == القيمة المُعادة == | ||
مجموع عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. | مجموع العناصر المُعادة من الدالة <code>selector</code> مطبقةً على عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. | ||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>()sumBy</code> مع المصفوفات=== | ===استخدام الدالة <code>()sumBy</code> مع المصفوفات=== | ||
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] <nowiki/>باسم <code>array</code> مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، <nowiki/>ثم تستخدم الدالة<code>()sumBy</code> على <code>array</code> | تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] <nowiki/>باسم <code>array</code> مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، <nowiki/>ثم تستخدم الدالة<code>()sumBy</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. | println(array.sumBy {it*it} )// 204 | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==أنظر أيضًا== | ==أنظر أيضًا== | ||
* <code>[[Kotlin/collections/sum|sum()]]</code> : تعيد مجموع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. | |||
* <code>[[Kotlin/collections/subtract|subtract()]]</code> : تعيد [[Kotlin/Set|مجموعةً]] (<code>Set</code>) تضم عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت عبرها والتي لا توجد في [[Kotlin/collections|المجموعة]] المُمرّرة. | * <code>[[Kotlin/collections/subtract|subtract()]]</code> : تعيد [[Kotlin/Set|مجموعةً]] (<code>Set</code>) تضم عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت عبرها والتي لا توجد في [[Kotlin/collections|المجموعة]] المُمرّرة. | ||
==مصادر== | ==مصادر== | ||
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sum.html الدالة sumBy() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sum-by.html الدالة sumBy() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 13:47، 23 يونيو 2018
تعيد الدالة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
}
أنظر أيضًا
sum()
: تعيد مجموع عناصر المصفوفة أو المجموعة التي استُدعيت عبرها.subtract()
: تعيد مجموعةً (Set
) تضم عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت عبرها والتي لا توجد في المجموعة المُمرّرة.