الفرق بين المراجعتين ل"Kotlin/collections/average"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>average()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة <code>average()‎</code> قاموسًا متغ...')
 
سطر 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) عناصر المصفوفة أو المجموعة (<code>[[Kotlin/collections|Collection]]</code>).
 +
==البنية العامة==
 +
يمكن استدعاء الدالة <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">
+
يمكن استدعاء الدالة <code>average()‎</code>عبر المجموعات  (<code>[[Kotlin/collections|Collection]]</code>):<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>()average</code> مع اللوائح ===
تعرف الشيفرة الآتية لائحة باسم <code>list</code> مكونة من أربعة أعداد باستخدام الدالة <code>()listOf</code>، ثم تنشئ قاموسًا متغيرًا باسم <code>map</code> بتمرير الدالة <code>()func</code> (التي تحول عددًا إلى زوج) إلى<code>()associateTo</code> ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
+
تعرف الشيفرة الآتية لائحة باسم <code>list</code> مكونة من أربعة أعداد باستخدام الدالة <code>()listOf</code>، ثم تحسب متوسط تلك الأعداد باستخدام الدالة <code>()average</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|Collection]]</code>).  
*<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 Functions]]

مراجعة 14:57، 11 مايو 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

يمكن استدعاء الدالة average()‎عبر المجموعات (Collection):

@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 يساوي متوسط عناصر المجموعة أو المصفوفة التي استٌدعي عبرها.

أمثلة

استخدام الدالة ()average مع اللوائح

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

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

انظر أيضًا

مصادر