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

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

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

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

في حال استدعاء الدالةforEach()‎ على المصفوفات أو المجموعات فإنّها تنفّذ الدالة المُمرّرة 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)

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

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

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

inline fun <T> Iterator<T>.forEach(operation: (T) -> Unit)

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

أمثلة

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

تعرف الشيفرة الآتية مصفوفة باسم array مكونة من ستة أعداد باستخدام الدالة ()arrayOf، ثم تستخدم الدالة ()forEach على 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()‎:تُنفّد الدالةَ المُمرّرةَ action على كل عناصر المصفوفة أو المجموعة أو القاموس الذي استُدعيت عبره وعلى فهارسها (indices). 

مصادر