الدالة forEachIndexed()‎ في لغة Kotlin

من موسوعة حسوب

تُنفّد الدالةُforEachIndexed()‎ الدالةَ المُمرّرةَ action على كل عناصر المصفوفة أو المجموعة أو القاموس الذي استُدعيت عبره وعلى فهارسها (indices).

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

inline fun <T> Array<out T>.forEachIndexed(
    action: (index: Int, T) -> Unit) 
inline fun ByteArray.forEachIndexed(
    action: (index: Int, Byte) -> Unit)
inline fun ShortArray.forEachIndexed(
    action: (index: Int, Short) -> Unit) 
inline fun IntArray.forEachIndexed(
    action: (index: Int, Int) -> Unit) 
inline fun LongArray.forEachIndexed(
    action: (index: Int, Long) -> Unit) 
inline fun FloatArray.forEachIndexed(
    action: (index: Int, Float) -> Unit) 
inline fun DoubleArray.forEachIndexed(
    action: (index: Int, Double) -> Unit) (
inline fun BooleanArray.forEachIndexed(
    action: (index: Int, Boolean) -> Unit) (source)
inline fun CharArray.forEachIndexed(
    action: (index: Int, Char) -> Unit) 
inline fun <T> Iterable<T>.forEachIndexed(
    action: (index: Int, T) -> Unit)

يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).

أمثلة

استخدام الدالة ()forEachIndexed مع المصفوفات

تعرف الشيفرة الآتية مصفوفة باسم array مكونة من ستة أعداد باستخدام الدالة ()arrayOf، ثم تستخدم الدالة ()forEachIndexed على array بتمرير دالة كمُعامل والتي تطبع عناصر المصفوفة بجانب فهارسها:

 fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4,5,6)

array.forEachIndexed {index, element  -> print("$element:$index ") } // 1:0 2:1 3:2 4:3 5:4 6:5  
}

انظر أيضًا

forEach()‎: تُنفّد الدالةُforEach()‎ الدالةَ المُمرّرةَ action على كل عناصر المصفوفة أو المجموعة أو القاموس الذي استُدعيت عبره.

مصادر