الفرق بين المراجعتين لصفحة: «Kotlin/collections/takeLastWhile»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>takeLastWhile()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>takeLastWhile()‎</code> Kotlin/Li...'
 
طلا ملخص تعديل
 
(3 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>takeLastWhile()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>takeLastWhile()‎</code> في Kotlin}}</noinclude>
تعيد الدالة<code>takeLastWhile()‎</code> [[Kotlin/List|لائحة]] تضم آخر <code>n</code> من العناصر الموجودة في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت عبرها.  
تجلب الدالة <code>takeLastWhile()‎</code> آخر عناصر محققة لشرطٍ محدَّدٍ من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/List|القائمة]] التي استُدعيت معها.
==البنية العامة==
<syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.takeLastWhile(
    predicate: (T) -> Boolean
): List<T>
inline fun ByteArray.takeLastWhile(
    predicate: (Byte) -> Boolean
): List<Byte>
inline fun ShortArray.takeLastWhile(
    predicate: (Short) -> Boolean
): List<Short>
inline fun IntArray.takeLastWhile(
    predicate: (Int) -> Boolean
): List<Int>
inline fun LongArray.takeLastWhile(
    predicate: (Long) -> Boolean
): List<Long>
inline fun FloatArray.takeLastWhile(
    predicate: (Float) -> Boolean
): List<Float>
inline fun DoubleArray.takeLastWhile(
    predicate: (Double) -> Boolean
): List<Double>
inline fun BooleanArray.takeLastWhile(
    predicate: (Boolean) -> Boolean
): List<Boolean>
inline fun CharArray.takeLastWhile(
    predicate: (Char) -> Boolean
): List<Char>
inline fun <T> List<T>.takeLastWhile(
    predicate: (T) -> Boolean
): List<T>


==البنية العامة==
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> التي تدل على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة [[Kotlin/inline functions|الدوال المباشرة (inline functions)]]).
<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
 
fun <T> Array<out T>.takeLast(n: Int): List<T>
== المعاملات ==
fun ByteArray.takeLast(n: Int): List<Byte>
fun ShortArray.takeLast(n: Int): List<Short>
fun IntArray.takeLast(n: Int): List<Int>
fun LongArray.takeLast(n: Int): List<Long>
fun FloatArray.takeLast(n: Int): List<Float>
fun DoubleArray.takeLast(n: Int): List<Double>
fun BooleanArray.takeLast(n: Int): List<Boolean>
fun CharArray.takeLast(n: Int): List<Char>
fun <T> List<T>.takeLast(n: Int): List<T>


</syntaxhighlight>
=== <code>predicate</code> ===
== القيمة المُعادة ==
دالة يراد تطبيقها على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/List|القائمة]] المعطاة، إذ يمرر إليها قيمة العنصر ثم تعيد القيمة المنطقية المقابلة له.
[[Kotlin/List|لائحة]] تضم آخر <code>n</code> من العناصر الموجودة في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت عبرها.


==القيمة المعادة==
تعاد [[Kotlin/List|قائمة]] تحوي العناصر الأخيرة المحققة للشرط <code>predicate</code> المعطى من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/List|القائمة]] المعطاة.
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()takeLastWhile</code> مع المصفوفات===
استعمال الدالة <code>()takeLastWhile</code> لجلب العناصر الأخيرة الأكبر من الحرف 'w' من قائمة:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية  <nowiki/>[[Kotlin/Array|مصفوفة]] <nowiki/>باسم <code>array</code> مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf‎</code>، <nowiki/>ثم تستخدم الدالة<code>()takeLastWhile</code>  على <code>array</code> مع تمرير العدد <code>3</code> كوسيط، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val array = arrayOf(3, 5, 7, 2 , 6, 9)
    val chars = ('a'..'z').toList()
      
     println(chars.takeLastWhile { it > 'w' }) // [x, y, z]
println(array.takeLast(3) ) // [2, 6, 9]
}
}
</syntaxhighlight>
</syntaxhighlight>
==أنظر أيضًا==
==انظر أيضًا==
* <code>[[Kotlin/collections/take|take()]]</code>‎ : تعيد [[Kotlin/List|لائحة]] تضم  <code>n</code> من أولى العناصر الموجودة في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت عبرها
*الدالة <code>[[Kotlin/collections/take|take()]]</code>: تجلب أول <code>n</code> عنصر من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت معها وتضعها في قائمة. 
 
*الدالة <code>[[Kotlin/collections/takeLast|takeLast()]]</code>‎: تجلب آخر <code>n</code> عنصر من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت معها وتضعها في قائمة.  
*الدالة <code>[[Kotlin/collections/takeWhile|takeWhile()‎]]</code>: تجلب أول عناصر محققة لشرطٍ محدَّدٍ من [[Kotlin/Array|المصفوفة]] أو  [[Kotlin/List|القائمة]] التي استُدعيت معها
==مصادر==
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/take-last.html الدالة  takeLastWhile()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/take-last-while.html صفحة الدالة takeLastWhile()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Collection]]

المراجعة الحالية بتاريخ 11:37، 8 سبتمبر 2018

تجلب الدالة takeLastWhile()‎ آخر عناصر محققة لشرطٍ محدَّدٍ من المصفوفة أو القائمة التي استُدعيت معها.

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

inline fun <T> Array<out T>.takeLastWhile(
    predicate: (T) -> Boolean
): List<T> 
inline fun ByteArray.takeLastWhile(
    predicate: (Byte) -> Boolean
): List<Byte>
inline fun ShortArray.takeLastWhile(
    predicate: (Short) -> Boolean
): List<Short> 
inline fun IntArray.takeLastWhile(
    predicate: (Int) -> Boolean
): List<Int> 
inline fun LongArray.takeLastWhile(
    predicate: (Long) -> Boolean
): List<Long> 
inline fun FloatArray.takeLastWhile(
    predicate: (Float) -> Boolean
): List<Float> 
inline fun DoubleArray.takeLastWhile(
    predicate: (Double) -> Boolean
): List<Double> 
inline fun BooleanArray.takeLastWhile(
    predicate: (Boolean) -> Boolean
): List<Boolean>
inline fun CharArray.takeLastWhile(
    predicate: (Char) -> Boolean
): List<Char> 
inline fun <T> List<T>.takeLastWhile(
    predicate: (T) -> Boolean
): List<T>

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

المعاملات

predicate

دالة يراد تطبيقها على كل عنصر من عناصر المصفوفة أو القائمة المعطاة، إذ يمرر إليها قيمة العنصر ثم تعيد القيمة المنطقية المقابلة له.

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

تعاد قائمة تحوي العناصر الأخيرة المحققة للشرط predicate المعطى من المصفوفة أو القائمة المعطاة.

أمثلة

استعمال الدالة ()takeLastWhile لجلب العناصر الأخيرة الأكبر من الحرف 'w' من قائمة:

fun main(args: Array<String>) {
    val chars = ('a'..'z').toList()
    println(chars.takeLastWhile { it > 'w' }) // [x, y, z]
}

انظر أيضًا

مصادر