الفرق بين المراجعتين لصفحة: «Kotlin/collections/associateTo»
جميل-بيلوني (نقاش | مساهمات) ط تدقيق الشيفرة. |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>associateTo()</code> في | <noinclude>{{DISPLAYTITLE: الدالة <code>associateTo()</code> في Kotlin}}</noinclude> | ||
تعيد الدالة <code>associateTo()</code> خريطةً متغيرةً (mutable map) تحتوي على أزواج من "قيمة/مفتاح"، إذ القيمة هي عناصر المصفوفة أو المجموعة ([[Kotlin/collections|Collection]]) المعطاة، والمفتاح هو الناتج المعاد من تمرير تلك العناصر إلى الدالة <code>transform</code>. | تعيد الدالة <code>associateTo()</code> خريطةً متغيرةً (mutable map) تحتوي على أزواج من "قيمة/مفتاح"، إذ القيمة هي عناصر المصفوفة أو المجموعة ([[Kotlin/collections|Collection]]) المعطاة، والمفتاح هو الناتج المعاد من تمرير تلك العناصر إلى الدالة <code>transform</code>. | ||
سطر 50: | سطر 50: | ||
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]). | </syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]). | ||
==القيم المعادة== | ==القيم المعادة== | ||
خريطةً متغيرةً (mutable map) تحتوي على أزواج من "قيمة/مفتاح"، إذ القيمة هي عناصر المصفوفة أو المجموعة ([[Kotlin/collections|Collection]]) المعطاة، والمفتاح هو الناتج المعاد من تمرير تلك العناصر إلى الدالة <code>transform</code>. | تُعاد خريطةً متغيرةً (mutable map) تحتوي على أزواج من "قيمة/مفتاح"، إذ القيمة هي عناصر المصفوفة أو المجموعة ([[Kotlin/collections|Collection]]) المعطاة، والمفتاح هو الناتج المعاد من تمرير تلك العناصر إلى الدالة <code>transform</code>. | ||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>()associateTo</code> مع القوائم === | ===استخدام الدالة <code>()associateTo</code> مع القوائم === | ||
سطر 76: | سطر 76: | ||
==مصادر== | ==مصادر== | ||
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/associate-to.html الدالة associateTo() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/associate-to.html صفحة الدالة associateTo() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 06:43، 23 يوليو 2018
تعيد الدالة associateTo()
خريطةً متغيرةً (mutable map) تحتوي على أزواج من "قيمة/مفتاح"، إذ القيمة هي عناصر المصفوفة أو المجموعة (Collection) المعطاة، والمفتاح هو الناتج المعاد من تمرير تلك العناصر إلى الدالة transform
.
إن كان لعنصرين نفس المفتاح (key)، فإنَّ الأخير هو الذي سيُضاف إلى الخريطة.
البنية العامة
إن استدعيت الدالة associateTo()
مع مصفوفة، فستعيد الخريطة المتغيرة destination
التي تحتوي على أزواج من "قيمة/مفتاح"، إذ القيمة هي عناصر تلك المصفوفة المعطاة، والمفتاح هو الناتج المعاد من تمرير هذه العناصر إلى الدالة transform
:
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
إن استدعيت الدالة associateTo()
مع مجموعة، فستعيد الخريطة المتغيرة destination
التي تحتوي على أزواج من "قيمة/مفتاح"، إذ القيمة هي عناصر تلك المجموعة المعطاة، والمفتاح هو الناتج المعاد من تمرير هذه العناصر إلى الدالة transform
:
inline fun <T, K, V, M : MutableMap<in K, in V>> Iterable<T>.associateTo(
destination: M,
transform: (T) -> Pair<K, V>
): M
وجود الكلمة المفتاحية inline
يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions)).
القيم المعادة
تُعاد خريطةً متغيرةً (mutable map) تحتوي على أزواج من "قيمة/مفتاح"، إذ القيمة هي عناصر المصفوفة أو المجموعة (Collection) المعطاة، والمفتاح هو الناتج المعاد من تمرير تلك العناصر إلى الدالة transform
.
أمثلة
استخدام الدالة ()associateTo
مع القوائم
تعرِّف الشيفرة الآتية قائمة باسم list
مكونة من أربعة أعداد باستخدام الدالة ()listOf
، ثم تنشئ خريطةً متغيرةً باسم map
بتمرير الدالة ()func
(التي تحول عددًا إلى زوج) إلى ()associateTo
ثم تطبع الناتج بعدئذٍ:
fun main(args: Array<String>) {
val list = listOf(1, 2, 3, 4)
val map = mutableMapOf<Int, Int>()
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}
}
انظر أيضًا
- الدالة
associate()
: تعيد تعيد خريطةً تحوي أزواجًا من "مفتاح/قيمة" ناتجة عن تمرير عناصر المصفوفة أو المجموعة (Collection) إلى الدالةtransform
. - الدالة
associateBy()
: تعيد خريطةً تحتوي على عناصر المصفوفة أو المجموعة المعطاة مُفهرسة بناتج تمرير هذه العناصر إلى الدالةkeySelector
. - الدالة
associateByTo()
: تعيد خريطةً متغيرةً (mutable map) تحتوي على أزواج من "قيمة/مفتاح"، إذ القيمة هي عناصر المصفوفة أو المجموعة (Collection) المعطاة، والمفتاح هو الناتج المعاد من تمرير تلك العناصر إلى الدالةkeySelector
. - الدالة
asList()
: تعيد لائحة تُغلّف المصفوفة الأصلية.
- الدالة
asIterable()
: تُنشئ نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة الأصلية وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثلfor
).