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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>average()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة <code>average()‎</code> قاموسًا متغ...'
 
طلا ملخص تعديل
 
(8 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>average()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>average()‎</code> في Kotlin}}</noinclude>
تعيد الدالة <code>average()‎</code> قاموسًا متغيرا (mutable map) يحتوي ناتج تمرير عناصر المصفوفة أو المجموعة (<code>[[Kotlin/collections|Collection]]</code>) إلى الدالة <code>transform</code>.  
تحسب الدالة <code>average()‎</code> متوسط (average) عناصر المصفوفة أو المجموعة ([[Kotlin/collections|Collection]]) المعطاة لها.
==البنية العامة==
يمكن استدعاء الدالة <code>average()‎</code> مع المصفوفات:<syntaxhighlight lang="kotlin">
@JvmName("averageOfByte") fun Array<out Byte>.average(): Double
@JvmName("averageOfShort") fun Array<out Short>.average(): Double
@JvmName("averageOfInt") fun Array<out Int>.average(): Double
@JvmName("averageOfLong") fun Array<out Long>.average(): Double
@JvmName("averageOfFloat") fun Array<out Float>.average(): Double
@JvmName("averageOfDouble") fun Array<out Double>.average(): Double
fun ByteArray.average(): Double
fun ShortArray.average(): Double
fun IntArray.average(): Double
fun LongArray.average(): Double
fun FloatArray.average(): Double
fun DoubleArray.average(): Double


ان كان لعنصرين نفس المفتاح (key) فإن الأخير هو الذي سيُضاف إلى القاموس.
==البنية العامة==
في حال استدعاء الدالة <code>associateTo()‎</code>عبر مصفوفة فستعيد القاموس المتغير <code>destination</code> وأزواجه توفرها الدالة <code>transform()‎</code> مُطبقةً على عناصر المصفوفة:<syntaxhighlight lang="kotlin">
inline fun <T, K, V, M : MutableMap<in K, in V>> Array<out T>.associateTo(
    destination: M,
    transform: (T) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> ByteArray.associateTo(
    destination: M,
    transform: (Byte) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> ShortArray.associateTo(
    destination: M,
    transform: (Short) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> IntArray.associateTo(
    destination: M,
    transform: (Int) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> LongArray.associateTo(
    destination: M,
    transform: (Long) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> FloatArray.associateTo(
    destination: M,
    transform: (Float) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> DoubleArray.associateTo(
    destination: M,
    transform: (Double) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> BooleanArray.associateTo(
    destination: M,
    transform: (Boolean) -> Pair<K, V>
): M
inline fun <K, V, M : MutableMap<in K, in V>> CharArray.associateTo(
    destination: M,
    transform: (Char) -> Pair<K, V>
): M
</syntaxhighlight>
</syntaxhighlight>


في حال استدعاء الدالة <code>associateTo()</code>عبر مجموعة (<code>[[Kotlin/collections|Collection]]</code>)  فستعيد القاموس المتغير <code>destination</code> وأزواجه توفرها الدالة <code>keySelector()‎</code> مُطبقةً على عناصر المجموعة:<syntaxhighlight lang="kotlin">
ويمكن استدعاؤها مع المجموعات:<syntaxhighlight lang="kotlin">
inline fun <T, K, V, M : MutableMap<in K, in V>> Iterable<T>.associateTo(
@JvmName("averageOfByte") fun Iterable<Byte>.average(): Double
    destination: M,
@JvmName("averageOfShort") fun Iterable<Short>.average(): Double
    transform: (T) -> Pair<K, V>
@JvmName("averageOfInt") fun Iterable<Int>.average(): Double
): M
@JvmName("averageOfLong") fun Iterable<Long>.average(): Double
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
@JvmName("averageOfFloat") fun Iterable<Float>.average(): Double
@JvmName("averageOfDouble") fun Iterable<Double>.average(): Double
</syntaxhighlight>
==القيم المعادة==
==القيم المعادة==
قاموس. (انظر شرح الدالة أعلاه لمزيد من التفاصيل)
يعاد عددٌ من النوع <code>Double</code> يساوي متوسط عناصر المجموعة أو المصفوفة المعطاة.
 
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()associateTo</code> مع اللوائح ===
تعرِّف الشيفرة الآتية لائحة باسم <code>list</code> مكونة من أربعة أعداد باستخدام الدالة <code>()listOf</code> وتحسب متوسط تلك الأعداد باستخدام الدالة <code>()average</code> ثم تطبع النتيجة:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية لائحة باسم <code>list</code> مكونة من أربعة أعداد باستخدام الدالة <code>()listOf</code>، ثم تنشئ قاموسًا متغيرًا باسم <code>map</code> بتمرير الدالة <code>()func</code> (التي تحول عددًا إلى زوج) إلى<code>()associateTo</code> ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
     val list = listOf(1,2,3,4)
     val list = listOf(1, 2, 3, 4)
     val map = mutableMapOf<Int, Int>()
     println(list.average()) // 2.5
    val func: (Int) -> Pair<Int,Int> = {Pair(it + 10,it * 4)}
    list.associateTo(map,func)
 
    println(map) // {11=4, 12=8, 13=12, 14=16}
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
*<code>[[Kotlin/collections/associateByTo|associateByTo()]]</code>‎: تعيد قاموسًا (map).
* الدالة <code>[[Kotlin/collections/sum|sum()]]</code>‎: تجمع جميع قيم عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت معها ثمَّ تعيد الناتج.
*<code>[[Kotlin/collections/associateBy|associateBy()]]</code>‎: تعيد قاموسًا (map).
*<code>[[Kotlin/collections/associate|associate()]]</code>‎: تعيد قاموسًا (map).
*<code>[[Kotlin/collections/asList|asList()]]</code>‎: تعيد لائحة والتي تُغلّف المصفوفة الاصلية.
 
* <code>[[Kotlin/collections/asIterable|asIterable()]]</code>‎: تُنشئ نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل<code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>).


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

المراجعة الحالية بتاريخ 07:26، 8 سبتمبر 2018

تحسب الدالة average()‎ متوسط (average) عناصر المصفوفة أو المجموعة (Collection) المعطاة لها.

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

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

@JvmName("averageOfByte") fun Array<out Byte>.average(): Double 
@JvmName("averageOfShort") fun Array<out Short>.average(): Double
@JvmName("averageOfInt") fun Array<out Int>.average(): Double 
@JvmName("averageOfLong") fun Array<out Long>.average(): Double 
@JvmName("averageOfFloat") fun Array<out Float>.average(): Double 
@JvmName("averageOfDouble") fun Array<out Double>.average(): Double 
fun ByteArray.average(): Double 
fun ShortArray.average(): Double 
fun IntArray.average(): Double 
fun LongArray.average(): Double 
fun FloatArray.average(): Double
fun DoubleArray.average(): Double

ويمكن استدعاؤها مع المجموعات:

@JvmName("averageOfByte") fun Iterable<Byte>.average(): Double 
@JvmName("averageOfShort") fun Iterable<Short>.average(): Double 
@JvmName("averageOfInt") fun Iterable<Int>.average(): Double 
@JvmName("averageOfLong") fun Iterable<Long>.average(): Double 
@JvmName("averageOfFloat") fun Iterable<Float>.average(): Double
@JvmName("averageOfDouble") fun Iterable<Double>.average(): Double

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

يعاد عددٌ من النوع Double يساوي متوسط عناصر المجموعة أو المصفوفة المعطاة.

أمثلة

تعرِّف الشيفرة الآتية لائحة باسم list مكونة من أربعة أعداد باستخدام الدالة ()listOf وتحسب متوسط تلك الأعداد باستخدام الدالة ()average ثم تطبع النتيجة:

fun main(args: Array<String>) {
    val list = listOf(1, 2, 3, 4)
    println(list.average()) // 2.5
}

انظر أيضًا

مصادر