الفرق بين المراجعتين لصفحة: «Kotlin/collections/flatMapTo»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>flatMapTo()</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>flatMapTo()</code> Kotlin/collecti...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>flatMapTo()</code> في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة <code>flatMapTo()</code> في لغة Kotlin}}</noinclude> | ||
تضيف الدالة<code>flatMapTo()</code> إلى [[Kotlin/collections/List|اللائحة]] المُتغيرة (<code>MutableCollection</code>) <code>destination</code>المُمرّرة إليها ناتج تطبيق الدالة <code>transform()</code> على عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها، وفي حال استدعاء الدالة <code>flatMapTo()</code> على [[Kotlin/collections/Map|قاموس]] فستضيف إلى [[Kotlin/collections/List|اللائحة]] <code>destination</code> ناتج تطبيق الدالة <code>transform()</code> على مداخل (entries) [[Kotlin/collections/Map|القاموس]]. | |||
==البنية العامة== | ==البنية العامة== | ||
يمكن استدعاء الدالة<code> | يمكن استدعاء الدالة<code>flatMapTo()</code> على [[Kotlin/Array|المصفوفات]].<syntaxhighlight lang="kotlin"> | ||
inline fun <T, R> Array<out T>. | inline fun <T, R, C : MutableCollection<in R>> Array<out T>.flatMapTo( | ||
destination: C, | |||
transform: (T) -> Iterable<R> | transform: (T) -> Iterable<R> | ||
): | ): C | ||
inline fun <R> ByteArray. | inline fun <R, C : MutableCollection<in R>> ByteArray.flatMapTo( | ||
destination: C, | |||
transform: (Byte) -> Iterable<R> | transform: (Byte) -> Iterable<R> | ||
): | ): C | ||
inline fun <R> ShortArray. | inline fun <R, C : MutableCollection<in R>> ShortArray.flatMapTo( | ||
destination: C, | |||
transform: (Short) -> Iterable<R> | transform: (Short) -> Iterable<R> | ||
): | ): C | ||
inline fun <R> IntArray. | inline fun <R, C : MutableCollection<in R>> IntArray.flatMapTo( | ||
destination: C, | |||
transform: (Int) -> Iterable<R> | transform: (Int) -> Iterable<R> | ||
): | ): C | ||
inline fun <R> LongArray. | inline fun <R, C : MutableCollection<in R>> LongArray.flatMapTo( | ||
destination: C, | |||
transform: (Long) -> Iterable<R> | transform: (Long) -> Iterable<R> | ||
): | ): C | ||
inline fun <R> FloatArray. | inline fun <R, C : MutableCollection<in R>> FloatArray.flatMapTo( | ||
destination: C, | |||
transform: (Float) -> Iterable<R> | transform: (Float) -> Iterable<R> | ||
): | ): C | ||
inline fun <R> DoubleArray. | inline fun <R, C : MutableCollection<in R>> DoubleArray.flatMapTo( | ||
destination: C, | |||
transform: (Double) -> Iterable<R> | transform: (Double) -> Iterable<R> | ||
): | ): C | ||
inline fun <R> BooleanArray. | inline fun <R, C : MutableCollection<in R>> BooleanArray.flatMapTo( | ||
destination: C, | |||
transform: (Boolean) -> Iterable<R> | transform: (Boolean) -> Iterable<R> | ||
): | ): C | ||
inline fun <R> CharArray. | inline fun <R, C : MutableCollection<in R>> CharArray.flatMapTo( | ||
destination: C, | |||
transform: (Char) -> Iterable<R> | transform: (Char) -> Iterable<R> | ||
): | ): C | ||
</syntaxhighlight>يمكن استدعاء الدالة<code> | </syntaxhighlight>يمكن استدعاء الدالة<code>flatMapTo()</code> على [[Kotlin/collections|المجموعات]].<syntaxhighlight lang="kotlin"> | ||
inline fun <T, R> Iterable<T>. | inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapTo( | ||
destination: C, | |||
transform: (T) -> Iterable<R> | transform: (T) -> Iterable<R> | ||
): | ): C | ||
</syntaxhighlight>يمكن استدعاء الدالة<code> | </syntaxhighlight>يمكن استدعاء الدالة<code>flatMapTo()</code> على [[Kotlin/collections/Map|القواميس]].<syntaxhighlight lang="kotlin"> | ||
inline fun <K, V, R> Map<out K, V>. | inline fun <K, V, R, C : MutableCollection<in R>> Map<out K, V>.flatMapTo( | ||
destination: C, | |||
transform: (Entry<K, V>) -> Iterable<R> | transform: (Entry<K, V>) -> Iterable<R> | ||
): | ): C | ||
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | </syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | ||
==القيم المٌعادة== | ==القيم المٌعادة== | ||
[[Kotlin/collections/List|لائحة]] تضم ناتج تطبيق الدالة <code>transform()</code> المُمرّرة إليها على عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها، وفي حال استدعاء الدالة <code>flatMap()</code> على [[Kotlin/collections/Map|قاموس]] فستعيد [[Kotlin/collections/List|لائحة]] تضم ناتج تطبيق الدالة <code>transform()</code> على مداخل (entries) [[Kotlin/collections/Map|القاموس]]. | [[Kotlin/collections/List|لائحة]] تضم ناتج تطبيق الدالة <code>transform()</code> المُمرّرة إليها على عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها، وفي حال استدعاء الدالة <code>flatMap()</code> على [[Kotlin/collections/Map|قاموس]] فستعيد [[Kotlin/collections/List|لائحة]] تضم ناتج تطبيق الدالة <code>transform()</code> على مداخل (entries) [[Kotlin/collections/Map|القاموس]]. | ||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>()flatMapTo</code> مع | ===استخدام الدالة <code>()flatMapTo</code> مع اللوائح=== | ||
تعرف الشيفرة | تعرف الشيفرة الآتية [[Kotlin/collections/List|لائحة]] فارغة <nowiki/>باسم <code>list</code> باستخدام الدالة <code>()arrayListOf<Int></code>، ثم تستدعي الدالة<code>()flatMap</code> على [[Kotlin/collections/List|لائحة]] مكونة من ثلاثة أعداد وتُمرّر لها [[Kotlin/collections/List|اللائحة]] <code>list</code> ودالة<nowiki/>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val | val list = arrayListOf<Int>() | ||
listOf(1, 2, 3).flatMapTo(list) { listOf(it, it + 1) } | |||
print(list) // [1, 2, 2, 3, 3, 4] | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===انظر أيضًا=== | ===انظر أيضًا=== | ||
*<code>[[Kotlin/collections/ | *<code>[[Kotlin/collections/flatMap|flatMap()]]</code>: تعيد [[Kotlin/collections/List|لائحة]] تضم ناتج تطبيق الدالة المُمرّرة إليها على عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت عبرها، وفي حال استدعاء الدالة <code>flatMap()</code> على قاموس فستعيد لائحة تضم ناتج تطبيق الدالة المُمرّرة إليها على مداخل (entries) القاموس. | ||
==مصادر== | ==مصادر== | ||
<span> </span> | <span> </span> | ||
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/flat-map.html الدالة flatMapTo() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/flat-map-to.html الدالة flatMapTo() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
* | * | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 13:09، 16 مايو 2018
تضيف الدالةflatMapTo()
إلى اللائحة المُتغيرة (MutableCollection
) destination
المُمرّرة إليها ناتج تطبيق الدالة transform()
على عناصر المصفوفة أو المجموعة التي استُدعيت عبرها، وفي حال استدعاء الدالة flatMapTo()
على قاموس فستضيف إلى اللائحة destination
ناتج تطبيق الدالة transform()
على مداخل (entries) القاموس.
البنية العامة
يمكن استدعاء الدالةflatMapTo()
على المصفوفات.
inline fun <T, R, C : MutableCollection<in R>> Array<out T>.flatMapTo(
destination: C,
transform: (T) -> Iterable<R>
): C
inline fun <R, C : MutableCollection<in R>> ByteArray.flatMapTo(
destination: C,
transform: (Byte) -> Iterable<R>
): C
inline fun <R, C : MutableCollection<in R>> ShortArray.flatMapTo(
destination: C,
transform: (Short) -> Iterable<R>
): C
inline fun <R, C : MutableCollection<in R>> IntArray.flatMapTo(
destination: C,
transform: (Int) -> Iterable<R>
): C
inline fun <R, C : MutableCollection<in R>> LongArray.flatMapTo(
destination: C,
transform: (Long) -> Iterable<R>
): C
inline fun <R, C : MutableCollection<in R>> FloatArray.flatMapTo(
destination: C,
transform: (Float) -> Iterable<R>
): C
inline fun <R, C : MutableCollection<in R>> DoubleArray.flatMapTo(
destination: C,
transform: (Double) -> Iterable<R>
): C
inline fun <R, C : MutableCollection<in R>> BooleanArray.flatMapTo(
destination: C,
transform: (Boolean) -> Iterable<R>
): C
inline fun <R, C : MutableCollection<in R>> CharArray.flatMapTo(
destination: C,
transform: (Char) -> Iterable<R>
): C
يمكن استدعاء الدالةflatMapTo()
على المجموعات.
inline fun <T, R, C : MutableCollection<in R>> Iterable<T>.flatMapTo(
destination: C,
transform: (T) -> Iterable<R>
): C
يمكن استدعاء الدالةflatMapTo()
على القواميس.
inline fun <K, V, R, C : MutableCollection<in R>> Map<out K, V>.flatMapTo(
destination: C,
transform: (Entry<K, V>) -> Iterable<R>
): C
يُلاحَظ وجود الكلمة المفتاحية inline
للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).
القيم المٌعادة
لائحة تضم ناتج تطبيق الدالة transform()
المُمرّرة إليها على عناصر المصفوفة أو المجموعة التي استُدعيت عبرها، وفي حال استدعاء الدالة flatMap()
على قاموس فستعيد لائحة تضم ناتج تطبيق الدالة transform()
على مداخل (entries) القاموس.
أمثلة
استخدام الدالة ()flatMapTo
مع اللوائح
تعرف الشيفرة الآتية لائحة فارغة باسم list
باستخدام الدالة ()arrayListOf<Int>
، ثم تستدعي الدالة()flatMap
على لائحة مكونة من ثلاثة أعداد وتُمرّر لها اللائحة list
ودالة، ثم تطبع الناتج:
fun main(args: Array<String>) {
val list = arrayListOf<Int>()
listOf(1, 2, 3).flatMapTo(list) { listOf(it, it + 1) }
print(list) // [1, 2, 2, 3, 3, 4]
}
انظر أيضًا
flatMap()
: تعيد لائحة تضم ناتج تطبيق الدالة المُمرّرة إليها على عناصر المصفوفة أو المجموعة التي استُدعيت عبرها، وفي حال استدعاء الدالةflatMap()
على قاموس فستعيد لائحة تضم ناتج تطبيق الدالة المُمرّرة إليها على مداخل (entries) القاموس.
مصادر