الدالة CharSequence.forEachIndexed()‎ في Kotlin

من موسوعة حسوب
مراجعة 11:53، 3 سبتمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

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

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

inline fun CharSequence.forEachIndexed(
    action: (index: Int, Char) -> Unit)

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

المعاملات

action

الدالة المراد تنفيذها مع كل محرف من محارف السلسلة المعطاة. يمرر إليها فهرس المحرف index وقيمته Char.

أمثلة

مثالٌ على استعمال الدالة ()forEachIndexed:

fun main(args: Array<String>) {
    val str = "Hsoubwiki"

    str.forEachIndexed { index, char -> print("$index => $char | ") }
    // 0 => H | 1 => s | 2 => o | 3 => u | 4 => b | 5 => w | 6 => i | 7 => k | 8 => i | 
}

انظر أيضًا

  • الدالة forEach(): تُنفّد الدالةَ المُمرّرةَ إليها على كل محرف من محارف السلسلة التي استُدعيت معها. 
  • الدالة foldIndexed(): تجمِّع تراكميًّا ناتج تطبيق عملية معينة على فهرس كل محرف من محارف السلسلة المستدعاة معها (من اليسار إلى اليمين) وقيمته والقيمة التراكمية الحالية مع قيمة أولية إن أعطيت. 

مصادر