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

من موسوعة حسوب
< Kotlin‏ | kotlin.text
مراجعة 10:10، 3 سبتمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

تعيد الدالة flatMap()‎ قائمةً تضم ناتج تطبيق الدالة المُمرّرة إليها على كل محرف من محارف السلسلة التي استُدعيت معها.

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

inline fun <R> CharSequence.flatMap(
    transform: (Char) -> Iterable<R>
): List<R>

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

المعاملات

transform

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

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

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

أمثلة

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

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

    println(str.flatMap { a -> listOf(a) }) // [h, s, o, u, b,  , W, i, k, i]
}

انظر أيضًا

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

مصادر