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

من موسوعة حسوب
لا ملخص تعديل
ط مراجعة وتدقيق.
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>takeLastWhile()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>takeLastWhile()‎</code> في Kotlin}}</noinclude>
تعيد الدالة<code>takeLastWhile()‎</code> [[Kotlin/List|لائحة]] تضم آخر عناصر [[Kotlin/Array|المصفوفة]] أو  [[Kotlin/List|اللائحة]] التي استُدعيت عبرها والتي تحقق الشرط المنطقي المُمرّر <code>predicate</code>.  
تجلب الدالة <code>takeLastWhile()‎</code> آخر عناصر محققة لشرطٍ محدَّدٍ من [[Kotlin/Array|المصفوفة]] أو  [[Kotlin/List|القائمة]] التي استُدعيت معها.  
 
==البنية العامة==
==البنية العامة==
<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.takeLastWhile(
inline fun <T> Array<out T>.takeLastWhile(
     predicate: (T) -> Boolean
     predicate: (T) -> Boolean
سطر 35: سطر 34:
): List<T>  
): List<T>  


</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> التي تدل على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة [[Kotlin/inline functions|الدوال المباشرة (inline functions)]]).
 
==القيمة المعادة==
== القيمة المُعادة ==
تعاد [[Kotlin/List|قائمة]] تحوي العناصر الأخيرة المحققة للشرط <code>predicate</code> المعطى من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/List|القائمة]] المعطاة.
[[Kotlin/List|لائحة]] تضم آخر  عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/List|اللائحة]] والتي تحقق الشرط المنطقي المُمرّر <code>predicate</code>.
 
==أمثلة==
==أمثلة==
===استخدام الدالة <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> مع تمرير دالة منطقية كوسيط، ثم تطبع الناتج:<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.takeLastWhile { it > 4 } ) // [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>‎ :تعيد [[Kotlin/List|لائحة]] تضم آخر <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-while.html الدالة  takeLastWhile()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/take-last-while.html صفحة الدالة takeLastWhile()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Functions]]

مراجعة 15:54، 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 المعطى من المصفوفة أو القائمة المعطاة.

أمثلة

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

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

انظر أيضًا

مصادر