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

من موسوعة حسوب
مراجعة 10:10، 3 سبتمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)

تشبه الدالة flatMapTo()‎ الدالة flatMap()‎ تمامًا باستثناء أنها تضيف الناتج المعاد إلى كائن موجود مسبقًا بدلًا من إعادته فقط.

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

inline fun <R, C : MutableCollection<in R>> CharSequence.flatMapTo(
    destination: C, 
    transform: (Char) -> Iterable<R>
): C

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

المعاملات

destination

مجموعة قابلة للتغيير (MutableCollection‎) تمثل الوجهة التي سيضاف إليها الناتج.

transform

دالةٌ تطبق على كل محرف من محارف السلسلة المعطاة، وتعيد قيمة معينة تحل مكانه.

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

يعاد المعامل setination بعد إضافة ناتج تطبيق الدالة transform‎ على كل محرف من محارف السلسلة المعطاة.

أمثلة

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

fun main(args: Array<String>) {
    val str = "hsoub Wiki"
    val list = arrayListOf<Char>()

    str.flatMapTo(list) { a -> listOf(a) }

    println(list) // [h, s, o, u, b,  , W, i, k, i]
}

انظر أيضًا

  • الدالة flatMap(): تعيد قائمةً تضم ناتج تطبيق الدالة المُمرّرة إليها على كل محرف من محارف السلسلة التي استُدعيت معها. 
  • الدالة find(): تبحث على محرف يحقق شرطًا محدَّدًا ضمن محارف السلسلة التي استُدعيت معها ثمَّ تعيد أول ظهور له.

مصادر