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

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

تقسم الدالة partition()‎ سلسلة المحارف التي استُدعيت معها إلى قسمين؛ الأول يضم المحارف التي تحقِّق شرطًا محدَّدًا، والثاني يضم المحارف الأخرى المتبقيَّة.

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

inline fun CharSequence.partition(
    predicate: (Char) -> Boolean
): Pair<CharSequence, CharSequence>
inline fun String.partition(
    predicate: (Char) -> Boolean
): Pair<String, String>

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

المعاملات

predicate

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

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

يعاد زوجٌ من سلاسل من المحارف أو سلاسل نصية، إذ تضم الأولى محارف السلسلة المعطاة التي تحقِّق الشرط predicate المعطى (أي تعيد true معها)، بينما تضم الثانية المحارف الأخرى.

أمثلة

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

fun main(args: Array<String>) {
    val str = "Hsoub Wiki"
    val pair: Pair<String, String> = str.partition { it.isUpperCase() }

    println(pair) // (HW, soub iki)
}

انظر أيضًا

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

مصادر