الفرق بين المراجعتين لصفحة: «Kotlin/collections/asIterable»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>asIterable()</code> في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة <code>asIterable()</code> في لغة Kotlin}}</noinclude>تُنشئ الدالة <code>asIterable()</code>نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>). | ||
تُنشئ الدالة <code>asIterable()</code>نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما | ==البنية العامة== | ||
== البنية العامة == | في حال استدعاء الدالة <code>asIterable()</code>عبر مصفوفة فستعيد نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة التي استُدعيت عبرها وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>):<syntaxhighlight lang="kotlin"> | ||
fun <T> Array<out T>.asIterable(): Iterable<T> | fun <T> Array<out T>.asIterable(): Iterable<T> | ||
fun ByteArray.asIterable(): Iterable<Byte> | fun ByteArray.asIterable(): Iterable<Byte> | ||
سطر 12: | سطر 11: | ||
fun BooleanArray.asIterable(): Iterable<Boolean> | fun BooleanArray.asIterable(): Iterable<Boolean> | ||
fun CharArray.asIterable(): Iterable<Char> | fun CharArray.asIterable(): Iterable<Char> | ||
</syntaxhighlight>يمكن استدعاء الدالة <code> | </syntaxhighlight>يمكن استدعاء الدالة <code>asIterable()</code>عبر مجموعة (collection) وستُعيدها على شكل مُكرّر (iterable):<syntaxhighlight lang="kotlin"> | ||
inline fun <T> Iterable<T>.asIterable(): Iterable<T> | |||
inline fun <T> Iterable<T>. | |||
</syntaxhighlight>يمكن استدعاء الدالة <code> | </syntaxhighlight>يمكن استدعاء الدالة <code>asIterable()</code>عبر قاموس (Map) وستعيد نسخة تكرارية (Iterable instance) والتي تُغلّف القاموس الاصلي وتعيد مداخله (entries) عندما تُستخدم في حلقات التكرار (مثل <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>)::<syntaxhighlight lang="kotlin"> | ||
inline fun <K, V> Map<out K, V>.asIterable(): Iterable<Entry<K, V>> | |||
fun <K, V> Map<out K, V>. | |||
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع [[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | </syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع [[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | ||
==القيم المعادة== | |||
== القيم المعادة == | نسخة تكرارية (Iterable instance). (انظر شرح الدالة أعلاه لمزيد من التفاصيل) | ||
==أمثلة== | |||
===استخدام الدالة <code>()asIterable</code> مع المصفوفات=== | |||
== أمثلة == | تعرف الشيفرة الآتية مصفوفة باسم <code>array</code> مكونة من أربعة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تنشئ مُكرّرا باسم <code>iter</code> باستخدام الدالة <code>()asIterable</code>ثم تستخدم ذلك المكرر في حلقة تكرارية <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>:<syntaxhighlight lang="kotlin"> | ||
=== استخدام الدالة <code>()asIterable</code> | |||
تعرف الشيفرة الآتية | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val | val array = arrayOf(6,7,8,9) // انشاء مصفوفة | ||
val iter = array.asIterable() // انشاء مكرر | |||
for (i in iter) print(i) // 6789 | |||
val | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | |||
== انظر أيضًا == | *<code>[[Kotlin/collections/asList|asList()]]</code>: تعيد لائحة والتي تُغلّف المصفوفة الاصلية. | ||
* <code>[[Kotlin/collections/ | *<code>[[Kotlin/collections/asSequence|asSequence()]]</code>: تعيد نسخة من النوع Sequence والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تطبق تستخدم في حلقات التكرار (مثل <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>). | ||
==مصادر== | |||
== مصادر == | <span> </span> | ||
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/ | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/as-iterable.html الدالة asIterable() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 13:22، 10 مايو 2018
تُنشئ الدالة asIterable()
نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل for
).
البنية العامة
في حال استدعاء الدالة asIterable()
عبر مصفوفة فستعيد نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة التي استُدعيت عبرها وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل for
):
fun <T> Array<out T>.asIterable(): Iterable<T>
fun ByteArray.asIterable(): Iterable<Byte>
fun ShortArray.asIterable(): Iterable<Short>
fun IntArray.asIterable(): Iterable<Int>
fun LongArray.asIterable(): Iterable<Long>
fun FloatArray.asIterable(): Iterable<Float>
fun DoubleArray.asIterable(): Iterable<Double>
fun BooleanArray.asIterable(): Iterable<Boolean>
fun CharArray.asIterable(): Iterable<Char>
يمكن استدعاء الدالة asIterable()
عبر مجموعة (collection) وستُعيدها على شكل مُكرّر (iterable):
inline fun <T> Iterable<T>.asIterable(): Iterable<T>
يمكن استدعاء الدالة asIterable()
عبر قاموس (Map) وستعيد نسخة تكرارية (Iterable instance) والتي تُغلّف القاموس الاصلي وتعيد مداخله (entries) عندما تُستخدم في حلقات التكرار (مثل for
)::
inline fun <K, V> Map<out K, V>.asIterable(): Iterable<Entry<K, V>>
يُلاحَظ وجود الكلمة المفتاحية inline
للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).
القيم المعادة
نسخة تكرارية (Iterable instance). (انظر شرح الدالة أعلاه لمزيد من التفاصيل)
أمثلة
استخدام الدالة ()asIterable
مع المصفوفات
تعرف الشيفرة الآتية مصفوفة باسم array
مكونة من أربعة أعداد باستخدام الدالة ()arrayOf
، ثم تنشئ مُكرّرا باسم iter
باستخدام الدالة ()asIterable
ثم تستخدم ذلك المكرر في حلقة تكرارية for
:
fun main(args: Array<String>) {
val array = arrayOf(6,7,8,9) // انشاء مصفوفة
val iter = array.asIterable() // انشاء مكرر
for (i in iter) print(i) // 6789
}
انظر أيضًا
asList()
: تعيد لائحة والتي تُغلّف المصفوفة الاصلية.asSequence()
: تعيد نسخة من النوع Sequence والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تطبق تستخدم في حلقات التكرار (مثلfor
).
مصادر