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

من موسوعة حسوب
< Kotlin‏ | collections
مراجعة 18:15، 17 مايو 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>forEachIndexed()‎</code> في لغة Kotlin}}</noinclude> تُنفّد الدالةُ<code>forEachIndexed()‎</code> ا...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

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

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

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

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

في حال استدعاء الدالةforEachIndexed()‎ على القواميس فإنّها تنفّذ الدالة المُمرّرة action على كل عناصرها.

inline fun <K, V> Map<out K, V>.forEach(
    action: (Entry<K, V>) -> Unit)

في حال استدعاء الدالةforEachIndexed()‎ على الكائنات من الصنف iterator فإنّها تنفّذ الدالة المُمرّرة action على كل عناصرها.

inline fun <T> Iterator<T>.forEach(operation: (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.forEach { print("$it ") } // 1 2 3 4 5 6 
}

انظر أيضًا

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

مصادر