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

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

ترشِّح الدالة filterIndexed()‎ محارف سلسلة المحارف أو السلسلة النصية المعطاة بناءً على فهرس المحرف وقيمته.

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

inline fun CharSequence.filterIndexed(
    predicate: (index: Int, Char) -> Boolean
): CharSequence

inline fun String.filterIndexed(
    predicate: (index: Int, Char) -> Boolean
): String

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

المعاملات

predicate

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

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

تُعاد سلسلة من المحارف أو سلسلة نصية تحوي المحارف التي أعيدت القيمة true معها عند تطبيق الدالة predicate عليها.

أمثلة

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

fun main(args: Array<String>) {
    val str = "Hsoub Academy"
    val list = StringBuilder()

    println(str.filterIndexedTo(list) { index, char ->
        (char.toByte() < index + 97)
    }) //  Hb Acade
}

انظر أيضًا

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

مصادر