الدالة filterTo()‎ في Kotlin

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

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

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

inline fun <C> CharSequence.filterTo(
    destination: C, 
    predicate: (Char) -> Boolean
): C

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

المعاملات

destination

كائن موجود مسبقًا يمثل الوجهة المراد إضافة الناتج فيها.

predicate

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

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

تضاف المحارف التي أعيدت القيمة true معها عند تطبيق الدالة predicate عليها إلى المعامل destination المعطى ثم تعاد.

أمثلة

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

fun main(args: Array<String>) {
    val str = "abcdefabc"
    val sb = StringBuilder()

    str.filterTo(sb) { it < 'd' }

    println(sb) // ab
}

انظر أيضًا

  • الدالة dropWhile()‎: تُزيِل المحارف الأولى المحققة لشرط معين من محارف السلسلة النصية أو سلسلة المحارف التي استُدعيت معها.

مصادر