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

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

تعيد الدالة mapIndexedNotNull()لائحة مكونة من النتائج غير المعدومة (non-nul) لتطبيق الدالة transform المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها وعلى فهارسها.

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

inline fun <R : Any> CharSequence.mapIndexedNotNull(
    transform: (index: Int, Char) -> R?
): List<R>

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

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

لائحة.

أمثلة

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

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

fun main(args: Array<String>) {
val str = "Hsoub Wiki" 
   
print( str.mapIndexedNotNull { index, char -> if (index < 5) index + char.toInt() else null} ) // [72, 116, 113, 120, 102]
}

انظر أيضًا

  • lineSequence(): تقسّم سلسلة الحروف التي استٌدعيت عبرها إلى سلسلة مكونة من سطور مفصولة بأيٍّ من سلاسل الحروف التالية CRLF أو LF أو CR.
  • map(): تعيد‎ لائحة مكونة من نتائج تطبيق الدالة transform المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها.
  • mapIndexed(): تعيد لائحة مكونة من نتائج تطبيق الدالة transform المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها وعلى فهارسها.

مصادر