الدالة withIndex()
في لغة Kotlin
تعيد الدالةwithIndex()
مجموعة تكرارية خاملة (lazy Iterable) من القيم المُفهرسة لكل عنصر من عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت عبرها، وفي حال استدعائها عبر مُكرّر (Iterator
) فستعيد مُكرّرا يغلّف كل عنصر مُنتج من ذلك المكرّر مع القيمة المُفهرسة.
البنية العامة
يمكن استدعاء الدالةwithIndex()
عبر المصفوفات:
fun <T, R> Array<out Pair<T, R>>.unzip(): Pair<List<T>, List<R>>
يمكن استدعاء الدالةwithIndex()
عبر المجموعات التكرارية:
fun <T, R> Iterable<Pair<T, R>>.unzip(): Pair<List<T>, List<R>>
القيمة المُعادة
زوج مكون من لائحتين، حيث اللائحة الأولي مكونة من العناصر الأولى من كل زوج من المصفوفة أو المجموعة التكرارية التي استُدعيت عبرها، واللائحة الثانية مكونة من العناصر الثانية من كل زوج من المصفوفة أو المجموعة التكرارية التي استُدعيت عبرها.
أمثلة
استخدام الدالة ()withIndex
مع المصفوفات
تعرّف الشيفرة الآتية مصفوفة باسم array
مكونة من ثلاثة أزواج باستخدام الدالة ()arrayOf
، ثم تستخدم الدالة()withIndex
على array
، ثم تطبع الناتج:
fun main(args: Array<String>) {
val array = arrayOf(1 to 'a', 2 to 'b', 3 to 'c')
println(array.unzip()) // ([1, 2, 3], [a, b, c])
}
أنظر أيضًا
union()
: تعيد مجموعة من النوع Set تضم جميع عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت عبرها والمجموعة التكرارية المُمرّرة.toByteArray()
: تعيد مصفوفة من النوعByteArray
تضم جميع عناصر المصفوفة العامة (أي من النوعArray<Byte>
) أو المجموعة التي استُدعيت عبرها.toDoubleArray()
: تعيد مصفوفة من النوعDoubleArray
تضم جميع عناصر المصفوفة العامة (أي من النوعArray<Double>
) أو المجموعة التي استُدعيت عبرها.