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

من موسوعة حسوب
مراجعة
طلا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>asIterable()‎</code> في لغة Kotlin}}</noinclude>تُنشِئ الدالة <code>asIterable()‎</code>نسخةً تكراريّةً (iterable instance) تُغلّف (wrap) المصفوفة الأصلية وتعيد عناصرَها عندما تُستخدَم في حلقات التكرار (مثل <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>).
<noinclude>{{DISPLAYTITLE: الدالة <code>asIterable()‎</code> في Kotlin}}</noinclude>تُنشِئ الدالة <code>asIterable()‎</code>نسخةً تكراريّةً (iterable instance) تُغلّف (wrap) المصفوفة الأصلية وتعيد عناصرَها عندما تُستخدَم في حلقات التكرار (مثل <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>).
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
سطر 32: سطر 32:
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
*<code>[[Kotlin/collections/asList|asList()]]</code>‎: تعيد قائمةً تُغلّف المصفوفة الأصلية.
*الدالة <code>[[Kotlin/collections/asList|asList()]]</code>‎: تعيد قائمةً تُغلّف المصفوفة الأصلية.
*<code>[[Kotlin/collections/asSequence|asSequence()]]</code>‎: تعيد نسخةً من النوع sequence والتي تُغلّف المصفوفة الأصليّة وتعيد عناصرها عندما تُستخدَم في حلقات التكرار (مثل حلقة <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>).
*الدالة <code>[[Kotlin/collections/asSequence|asSequence()]]</code>‎: تعيد نسخةً من النوع <code>sequence</code> والتي تُغلّف المصفوفة الأصليّة وتعيد عناصرها عندما تُستخدَم في حلقات التكرار (مثل حلقة <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/as-iterable.html صفحة الدالة  asIterable()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/as-iterable.html صفحة الدالة asIterable()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Function]]

مراجعة 06:37، 23 يوليو 2018

تُنشِئ الدالة asIterable()‎نسخةً تكراريّةً (iterable instance) تُغلّف (wrap) المصفوفة الأصلية وتعيد عناصرَها عندما تُستخدَم في حلقات التكرار (مثل 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) تُغلّف عنصر map الأصلي وتعيد مداخله (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).

مصادر