التابع text.mapIndexedNotNullTo()‎ في لغة Kotlin

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

تضيف الدالة mapIndexedNotNullTo()‎ إلى المجموعة المتغيرة المُمرّرة destination النتائج غير المعدومة (non-null) لتطبيق الدالة transform على عناصر سلسلة الحروف التي استٌدعيت عبرها وعلى فهارسها.

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

inline fun <R : Any, C : MutableCollection<in R>> CharSequence.mapIndexedNotNullTo(
    destination: C, 
    transform: (index: Int, Char) -> R?
): C

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

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

المجموعة المتغيرة destination.

أمثلة

استخدام الدالة mapIndexedNotNullTo()‎ مع السلاسل النصية

تُعرّف الشيفرة الآتية سلسلة نصية باسم str، وكائنا من النوع mutableList باسم list ثم تستدعي الدالة mapIndexedNotNullTo()‎ عبرها وتمرر دالة كوسيط، ثم تطبع الناتج:

fun main(args: Array<String>) {
val str = "Hsoub Wiki" 
val list = mutableListOf<Int>()

str.mapIndexedNotNullTo (list) { index, char -> if (index < 5) index + char.toInt() else null}
    
print( list ) // [72, 116, 113, 120, 102]
}

انظر أيضًا

  • map(): تعيد‎ لائحة مكونة من نتائج تطبيق الدالة transform المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها.
  • mapIndexed(): تعيد لائحة مكونة من نتائج تطبيق الدالة transform المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها وعلى فهارسها.
  • mapTo(): تضيف إلى المجموعة المتغيرة المُمرّرة destination نتائج تطبيق الدالة transform على عناصر سلسلة الحروف التي استٌدعيت عبرها.

مصادر