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

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


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


println(array.findLast(predicate)) // 2
println(array.last(predicate)) // 2
}
}
</syntaxhighlight>
</syntaxhighlight>
===استخدام الدالة <code>()last</code> مع المصفوفات: الحالة الثانية===
===استخدام الدالة <code>()last</code> مع المصفوفات: الحالة الثانية===
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تُعرّف الدالة المنطقية <code>()predicate</code> التي تحدد ما إذا كان العدد المُمرّر إليها أصغر من <code>0</code> ، ثم تستخدم الدالة <code>()last</code> لإيجاد العنصر الأخير في [[Kotlin/Array|المصفوفة]]<code>array</code> الذي يحقق الدالة <code>()predicate</code>، ولمّا كانت كل عناصر <code>array</code> لا تحقق ذلك فستعيد القيمة <code>null</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تُعرّف الدالة المنطقية <code>()predicate</code> التي تحدد ما إذا كان العدد المُمرّر إليها أصغر من <code>0</code> ، ثم تستخدم الدالة <code>()last</code> لإيجاد العنصر الأخير في [[Kotlin/Array|المصفوفة]]<code>array</code> الذي يحقق الدالة <code>()predicate</code>، ولمّا كانت كل عناصر <code>array</code> لا تحقق ذلك فستطلق استثناءً <code>NoSuchElementException</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, 2, 5, 1)
val predicate  : (Int) -> Boolean = { it < 0 }
val predicate  : (Int) -> Boolean = { it < 0 }


println(array.find(predicate)) // null
println(array.last(predicate)) // إطلاق استثناء
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
*<code>[[Kotlin/collections/find|find()]]</code>‎: تعيد العنصر الأول من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. وإن لم يكن هناك أي عنصر يحقق ذلك فستعيد <code>null.</code>
*<code>[[Kotlin/collections/lastIndexOf|lastIndexOf()]]</code>‎: تعيد آخر فهرس للعنصر الممرّر في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. وإن لم يكن العنصر موجودًا فستعيد <code>-1‎</code>.
==مصادر==
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/find-last.html الدالة  last()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/last.html الدالة  last()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Functions]]

مراجعة 14:09، 29 مايو 2018

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

العنصر الأخير الذي يحقق ذلك الشرط.

في حال كانت المصفوفة أو المجموعة أو اللائحة التي استُدعيت عبرها الدالةlast()‎ فارغة أو لم يكن هناك أي عنصر يحقق الشرط المنطقي predicate فستطلق استثناءً NoSuchElementException.

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

يمكن استدعاء الدالةlast()‎ على المصفوفات:

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

يمكن تمرير وسيط predicate إلى الدالةlast()‎:

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

يمكن استدعاء الدالةlast()‎ على المجموعات:

fun <T> Iterable<T>.last(): T

يمكن استدعاء الدالةlast()‎ على اللوائح:

fun <T> List<T>.last(): T

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

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

العنصر الأخير من المصفوفة أو المجموعة أو اللائحة التي استُدعيت عبرها. في حال تمرير شرط منطقي predicate كوسيط فستعيد

العنصر الأخير الذي يحقق ذلك الشرط.

أمثلة

استخدام الدالة ()last مع المصفوفات: الحالة الأولى

تعرف الشيفرة الآتية مصفوفة باسم arrayمكونة من ستة أعداد باستخدام الدالة ()arrayOf، ثم تُعرّف الدالة المنطقية ()predicate التي تحدد ما إذا كان العدد المُمرّر إليها أصغر من 3 ، ثم تستخدم الدالة ()last لإيجاد العنصر الأخير في المصفوفةarray الذي يحقق الدالة ()predicate، ثم تطبع الناتج:

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

println(array.last(predicate)) // 2
}

استخدام الدالة ()last مع المصفوفات: الحالة الثانية

تعرف الشيفرة الآتية مصفوفة باسم arrayمكونة من ستة أعداد باستخدام الدالة ()arrayOf، ثم تُعرّف الدالة المنطقية ()predicate التي تحدد ما إذا كان العدد المُمرّر إليها أصغر من 0 ، ثم تستخدم الدالة ()last لإيجاد العنصر الأخير في المصفوفةarray الذي يحقق الدالة ()predicate، ولمّا كانت كل عناصر array لا تحقق ذلك فستطلق استثناءً NoSuchElementException، ثم تطبع الناتج:

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

println(array.last(predicate)) // إطلاق استثناء
}

انظر أيضًا

مصادر