الفرق بين المراجعتين ل"Kotlin/collections/partition"
< Kotlin | collections
اذهب إلى التنقل
اذهب إلى البحث
جميل-بيلوني (نقاش | مساهمات) ط (مراجعة وتدقيق.) |
|||
سطر 1: | سطر 1: | ||
− | <noinclude>{{DISPLAYTITLE: الدالة <code>partition()</code> في | + | <noinclude>{{DISPLAYTITLE: الدالة <code>partition()</code> في Kotlin}}</noinclude> |
− | + | تقسم الدالة <code>partition()</code> [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها إلى قسمين؛ الأول يضم العناصر التي تحقِّق شرطًا محدَّدًا، والثاني يضم العناصر الأخرى المتبقيَّة. | |
− | |||
==البنية العامة== | ==البنية العامة== | ||
− | يمكن استدعاء الدالة <code>partition()</code> | + | يمكن استدعاء الدالة <code>partition()</code> مع [[Kotlin/Array|المصفوفات]] و<nowiki/>[[Kotlin/collections|المجموعات]]:<syntaxhighlight lang="kotlin"> |
inline fun <T> Array<out T>.partition( | inline fun <T> Array<out T>.partition( | ||
predicate: (T) -> Boolean | predicate: (T) -> Boolean | ||
سطر 32: | سطر 31: | ||
): Pair<List<Char>, List<Char>> | ): Pair<List<Char>, List<Char>> | ||
− | |||
− | |||
− | |||
inline fun <T> Iterable<T>.partition( | inline fun <T> Iterable<T>.partition( | ||
predicate: (T) -> Boolean | predicate: (T) -> Boolean | ||
): Pair<List<T>, List<T>> | ): Pair<List<T>, List<T>> | ||
− | </syntaxhighlight> | + | </syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة [[Kotlin/inline functions|الدوال المباشرة (inline functions)]]). |
− | + | ==القيم المعادة== | |
− | ==القيم | + | يعاد زوجٌ من القوائم، إذ تضم الأولى العناصر التي تحقِّق الشرط <code>predicate</code> المعطى (أي تعيد <code>true</code> معها)، بينما تضم الثانية العناصر الأخرى. |
− | |||
==أمثلة== | ==أمثلة== | ||
− | + | استعمال الدالة <code>()partition</code> لفصل الأعداد الزوجية عن الأعداد الفردية:<syntaxhighlight lang="kotlin"> | |
− | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val iterable = listOf(1, 2, 3, 4, 5) | val iterable = listOf(1, 2, 3, 4, 5) | ||
− | |||
val pair: Pair<Iterable<Int>, Iterable<Int>> = iterable.partition { it % 2 == 0 } | val pair: Pair<Iterable<Int>, Iterable<Int>> = iterable.partition { it % 2 == 0 } | ||
سطر 54: | سطر 47: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
− | *< | + | * الدالة <nowiki/>[[Kotlin/collections/filter|<code>filter()</code>]]: ترشِّح عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها. |
==مصادر== | ==مصادر== | ||
− | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/partition.html الدالة | + | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/partition.html صفحة الدالة partition() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] |
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 17:00، 6 أغسطس 2018
تقسم الدالة partition()
المصفوفة أو المجموعة التي استُدعيت معها إلى قسمين؛ الأول يضم العناصر التي تحقِّق شرطًا محدَّدًا، والثاني يضم العناصر الأخرى المتبقيَّة.
البنية العامة
يمكن استدعاء الدالة partition()
مع المصفوفات والمجموعات:
inline fun <T> Array<out T>.partition(
predicate: (T) -> Boolean
): Pair<List<T>, List<T>>
inline fun ByteArray.partition(
predicate: (Byte) -> Boolean
): Pair<List<Byte>, List<Byte>>
inline fun ShortArray.partition(
predicate: (Short) -> Boolean
): Pair<List<Short>, List<Short>>
inline fun IntArray.partition(
predicate: (Int) -> Boolean
): Pair<List<Int>, List<Int>>
inline fun LongArray.partition(
predicate: (Long) -> Boolean
): Pair<List<Long>, List<Long>>
inline fun FloatArray.partition(
predicate: (Float) -> Boolean
): Pair<List<Float>, List<Float>>
inline fun DoubleArray.partition(
predicate: (Double) -> Boolean
): Pair<List<Double>, List<Double>>
inline fun BooleanArray.partition(
predicate: (Boolean) -> Boolean
): Pair<List<Boolean>, List<Boolean>>
inline fun CharArray.partition(
predicate: (Char) -> Boolean
): Pair<List<Char>, List<Char>>
inline fun <T> Iterable<T>.partition(
predicate: (T) -> Boolean
): Pair<List<T>, List<T>>
وجود الكلمة المفتاحية inline
يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).
القيم المعادة
يعاد زوجٌ من القوائم، إذ تضم الأولى العناصر التي تحقِّق الشرط predicate
المعطى (أي تعيد true
معها)، بينما تضم الثانية العناصر الأخرى.
أمثلة
استعمال الدالة ()partition
لفصل الأعداد الزوجية عن الأعداد الفردية:
fun main(args: Array<String>) {
val iterable = listOf(1, 2, 3, 4, 5)
val pair: Pair<Iterable<Int>, Iterable<Int>> = iterable.partition { it % 2 == 0 }
println(pair) // ([2, 4], [1, 3, 5])
}
انظر أيضًا
- الدالة
filter()
: ترشِّح عناصر المصفوفة أو المجموعة أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.