الدالة withIndex()‎ في Kotlin

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

تعيد الدالة withIndex()‎ مجموعة تكرارية خاملة (lazy Iterable) من القيم المُفهرسة لكل عنصر من عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت معها، أو تعيد مُكرّرًا (iterator) يغلّف كل عنصر أنتجه المكرّر (Iterator) المستدعى مع الدالة مع القيمة المُفهرسة أي يعيد القيمة مع فهرسها.

البنية العامة

يمكن استدعاء الدالة withIndex()‎ مع المصفوفات أو المجموعات التكرارية أو المكرِّرات:

fun <T> Array<out T>.withIndex(): Iterable<IndexedValue<T>>
fun ByteArray.withIndex(): Iterable<IndexedValue<Byte>> 
fun ShortArray.withIndex(): Iterable<IndexedValue<Short>>
fun IntArray.withIndex(): Iterable<IndexedValue<Int>> 
fun LongArray.withIndex(): Iterable<IndexedValue<Long>> 
fun FloatArray.withIndex(): Iterable<IndexedValue<Float>> 
fun DoubleArray.withIndex(): Iterable<IndexedValue<Double>> 
fun BooleanArray.withIndex(): Iterable<IndexedValue<Boolean>> 
fun CharArray.withIndex(): Iterable<IndexedValue<Char>> 

fun <T> Iterable<T>.withIndex(): Iterable<IndexedValue<T>> 

fun <T> Iterator<T>.withIndex(): Iterator<IndexedValue<T>>

القيمة المعادة

تعاد مجموعة تكرارية خاملة (lazy Iterable) من القيم المُفهرسة لكل عنصر من عناصر المصفوفة أو المجموعة التكرارية (iterable) المعطاة، أو يعاد مُكرّر يغلّف كل عنصر أنتجه المكرّر (iterator) إن أعطي مع القيمة المُفهرسة.

أمثلة

استعمال الدالة ()withIndex مع مكرِّر وحلقة تكرارية (الحلقة for):

fun main(args: Array<String>) {
    val iterator = ('a'..'c').iterator()

    for ((index, value) in iterator.withIndex()) {
        println("The element at $index is $value")
    }
}

ناتج تنفيذ الشيفرة السابقة هو:

The element at 0 is a
The element at 1 is b
The element at 2 is c

انظر أيضًا

مصادر