الفرق بين المراجعتين ل"Kotlin/collections/takeLastWhile"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>takeLastWhile()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>takeLastWhile()‎</code> Kotlin/Li...')
 
سطر 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/List|لائحة]] تضم آخر عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/List|اللائحة]] التي استُدعيت عبرها والتي تحقق الشرط المنطقي المُمرّر <code>predicate</code>.  
  
 
==البنية العامة==
 
==البنية العامة==
 
<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
 
<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
fun <T> Array<out T>.takeLast(n: Int): List<T>  
+
inline fun <T> Array<out T>.takeLastWhile(
fun ByteArray.takeLast(n: Int): List<Byte>
+
    predicate: (T) -> Boolean
fun ShortArray.takeLast(n: Int): List<Short>  
+
): List<T>  
fun IntArray.takeLast(n: Int): List<Int>  
+
inline fun ByteArray.takeLastWhile(
fun LongArray.takeLast(n: Int): List<Long>  
+
    predicate: (Byte) -> Boolean
fun FloatArray.takeLast(n: Int): List<Float>  
+
): List<Byte>
fun DoubleArray.takeLast(n: Int): List<Double>
+
inline fun ShortArray.takeLastWhile(
fun BooleanArray.takeLast(n: Int): List<Boolean>  
+
    predicate: (Short) -> Boolean
fun CharArray.takeLast(n: Int): List<Char>  
+
): List<Short>  
fun <T> List<T>.takeLast(n: Int): List<T>  
+
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> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
  
</syntaxhighlight>
 
 
== القيمة المُعادة ==
 
== القيمة المُعادة ==
[[Kotlin/List|لائحة]] تضم آخر <code>n</code> من العناصر الموجودة في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت عبرها.
+
[[Kotlin/List|لائحة]] تضم آخر عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/List|اللائحة]] والتي تحقق الشرط المنطقي المُمرّر <code>predicate</code>.
  
 
==أمثلة==
 
==أمثلة==
 
===استخدام الدالة <code>()takeLastWhile</code> مع المصفوفات===
 
===استخدام الدالة <code>()takeLastWhile</code> مع المصفوفات===
تعرف الشيفرة الآتية  <nowiki/>[[Kotlin/Array|مصفوفة]] <nowiki/>باسم <code>array</code> مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf‎</code>، <nowiki/>ثم تستخدم الدالة<code>()takeLastWhile</code>  على <code>array</code> مع تمرير العدد <code>3</code> كوسيط، ثم تطبع الناتج:<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 array = arrayOf(3, 5, 7, 2 , 6, 9)
 
      
 
      
println(array.takeLast(3) ) // [2, 6, 9]
+
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>‎ : تعيد [[Kotlin/List|لائحة]] تضم  <code>n</code> من أولى العناصر الموجودة في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت عبرها.
 +
*  <code>[[Kotlin/collections/takeLast|takeLast()]]</code>‎ :تعيد [[Kotlin/List|لائحة]] تضم آخر <code>n</code> من العناصر الموجودة في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت عبرها. 
  
 
==مصادر==
 
==مصادر==
*[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 Functions]]

مراجعة 18:19، 23 يونيو 2018

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

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

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 مع المصفوفات

تعرف الشيفرة الآتية  مصفوفة باسم array مكونة من ستة أعداد باستخدام الدالة ()arrayOf‎، ثم تستخدم الدالة()takeLastWhile  على array مع تمرير دالة منطقية كوسيط، ثم تطبع الناتج:

fun main(args: Array<String>) {
val array = arrayOf(3, 5, 7, 2 , 6, 9)
    
println(array.takeLastWhile { it > 4 } ) // [6, 9]
}

أنظر أيضًا

مصادر