الدالة text.partition()‎ في لغة Kotlin

من موسوعة حسوب
مراجعة 11:37، 30 أغسطس 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - 'Kotlin Functions' ب'Kotlin Function')

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

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

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

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

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

تُقسّم الدالةُpartition()‎ السلسلة النصية التي استُدعيت عبرها إلى زوج مكوّن من سلسلتين نصيتين، الأولى تضم العناصر التي تحقق الشرط المنطقي المُمرّر predicate، بينما تضم الثانية العناصر الأخرى.

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

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

زوج مكوّن من سلسلتين نصيتين أو سلسلتي حروف

أمثلة

استخدام الدالة ()partition مع السلاسل النصية

تُعرّف الشيفرة الآتية سلسلة نصية باسم str، ثم تستدعي الدالة ()partition عبرها للحصول على زوج من النوع Pair<String, String>‎، مكون من سلسلتين نصيتين، الأولى تضم الحروف الكبيرة، والأخرى تضم الحروف الصغيرة، ثم تطبع الناتج:

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

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

انظر أيضًا

  • isDefined(): تعيد القيمة true في حال كان الحرف (Unicode code point) الذي استٌدعيت عبره مُعرّفًا في اليونيكود (Unicode).

مصادر