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

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


</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة [[Kotlin/inline functions|الدوال المباشرة (inline functions)]]).
==القيم المٌعادة==
 
العنصر الأول من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. وإن لم يكن هناك  أي عنصر يحقق ذلك فستعيد <code>null.</code>
== المعاملات ==
 
=== <code>predicate</code> ===
دالةٌ تمثل الشرط المراد تطبيقه على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة. يمرر إلى هذه الدالة قيمة العنصر وتعيد قيمةً منطقيةً.
 
==القيم المعادة==
يعاد آخر ظهور للعنصر المبحوث عنه ضمن عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة والذي يحقق الشرط المنطقي <code>predicate</code> المعطى أيضًا، أو القيمة <code>null</code> إن لم يُعثر على أي عنصر يحقق ذلك الشرط.
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()findLast</code> مع المصفوفات: الحالة الأولى===
<nowiki/>استعمال الدالة <code>()findLast</code> للبحث عن آخر عنصر يحقق شرطًا معينًا:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تُعرّف الدالة المنطقية <code>()predicate</code> التي تحدد ما إذا كان العدد المُمرّر إليها أصغر من <code>3</code> ، ثم تستخدم الدالة <code>()findLast</code> لإيجاد العنصر الأول في [[Kotlin/Array|المصفوفة]]<code>array</code> الذي يحقق الدالة <code>()predicate</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
val array = arrayOf(9, 2, 3, 2, 5, 1)
val predicate  : (Int) -> Boolean = { it < 3 }
 
println(array.find(predicate)) // 2
}
</syntaxhighlight>
===استخدام الدالة <code>()findLast</code> مع المصفوفات: الحالة الثانية===
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تُعرّف الدالة المنطقية <code>()predicate</code> التي تحدد ما إذا كان العدد المُمرّر إليها أصغر من <code>0</code> ، ثم تستخدم الدالة <code>()findLast</code> لإيجاد العنصر الأول في [[Kotlin/Array|المصفوفة]]<code>array</code> الذي يحقق الدالة <code>()predicate</code>، ولمّا كانت كل عناصر <code>array</code> لا تحقق ذلك فستعيد القيمة <code>null</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val array = arrayOf(9, 2, 3, 2, 5, 1)
    val array = arrayOf(9, 2, 3, 0, 5, 1)
val predicate  : (Int) -> Boolean = { it < 0 }
    val predicate1: (Int) -> Boolean = { it < 3 }
    val predicate2: (Int) -> Boolean = { it == 6 }


println(array.find(predicate)) // null
    println(array.findLast(predicate1)) // 1
    println(array.findLast(predicate2)) // null
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
*<code>[[Kotlin/collections/findLast|findLast()]]</code>‎: تعيد العنصر الأخير من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. وإن لم يكن هناك  أي عنصر يحقق ذلك فستعيد <code>null.</code>
*الدالة <code>[[Kotlin/collections/find|find()]]</code>‎: تبحث على عنصر محدَّد ضمن عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها ثمَّ تعيد أول ظهور له.
*الدالة <code>[[Kotlin/collections/first|first()‎]]</code>: تجلب أول عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها إن لم يمرر إليها أي شيء، أو أول عنصر يحق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها. 
* الدالة <code>[[Kotlin/collections/filter|filter()]]</code>‎: ترشِّح عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.
==مصادر==
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/find.html الدالة  findLast()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/find-last.html صفحة الدالة findLast()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]<noinclude>{{DISPLAYTITLE: الدالة <code>findLast()‎</code> في Kotlin}}</noinclude>
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Collection]]

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

تبحث الدالة findLast()‎ على عنصر محدَّد ضمن عناصر المصفوفة أو المجموعة التي استُدعيت معها ثمَّ تعيد آخر ظهور له.

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

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

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

المعاملات

predicate

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

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

يعاد آخر ظهور للعنصر المبحوث عنه ضمن عناصر المصفوفة أو المجموعة المعطاة والذي يحقق الشرط المنطقي predicate المعطى أيضًا، أو القيمة null إن لم يُعثر على أي عنصر يحقق ذلك الشرط.

أمثلة

استعمال الدالة ()findLast للبحث عن آخر عنصر يحقق شرطًا معينًا:

fun main(args: Array<String>) {
    val array = arrayOf(9, 2, 3, 0, 5, 1)
    val predicate1: (Int) -> Boolean = { it < 3 }
    val predicate2: (Int) -> Boolean = { it == 6 }

    println(array.findLast(predicate1)) // 1
    println(array.findLast(predicate2)) // null
}

انظر أيضًا

  • الدالة find()‎: تبحث على عنصر محدَّد ضمن عناصر المصفوفة أو المجموعة التي استُدعيت معها ثمَّ تعيد أول ظهور له.
  • الدالة first()‎: تجلب أول عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها إن لم يمرر إليها أي شيء، أو أول عنصر يحق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها. 
  • الدالة filter()‎: ترشِّح عناصر المصفوفة أو المجموعة أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.

مصادر