الفرق بين المراجعتين لصفحة: «Kotlin/collections/last»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>last()</code> في | <noinclude>{{DISPLAYTITLE: الدالة <code>last()</code> في Kotlin}}</noinclude> | ||
تجلب الدالة <code>last()</code> آخر عنصر من عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت معها إن لم يمرر إليها أي شيء، أو آخر عنصر يحق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها. | |||
إن كانت <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت الدالة <code>first()</code> عبرها فارغة أو لم يكن هناك أي عنصر يحقق الدالة المنطقية الممرَّرة إليها، فستُطلِق الدالة الاستثناء<code>NoSuchElementException</code>. | |||
==البنية العامة== | ==البنية العامة== | ||
يمكن استدعاء | يمكن استدعاء الدالة <code>last()</code> مع المصفوفات بدون تمرير أية معاملات:<syntaxhighlight lang="kotlin"> | ||
fun <T> Array<out T>.last(): T | fun <T> Array<out T>.last(): T | ||
fun ByteArray.last(): Byte | fun ByteArray.last(): Byte | ||
سطر 15: | سطر 16: | ||
fun CharArray.last(): Char | fun CharArray.last(): Char | ||
</syntaxhighlight> | </syntaxhighlight>ويمكن أيضًا استدعاء هذه الدالة مع تمرير دالة تمثِّل شرطًا منطقيًّا إليها:<syntaxhighlight lang="kotlin"> | ||
inline fun <T> Array<out T>.last( | inline fun <T> Array<out T>.last( | ||
predicate: (T) -> Boolean | predicate: (T) -> Boolean | ||
سطر 37: | سطر 38: | ||
inline fun <T> Iterable<T>.last(predicate: (T) -> Boolean): T | inline fun <T> Iterable<T>.last(predicate: (T) -> Boolean): T | ||
inline fun <T> List<T>.last(predicate: (T) -> Boolean): T | inline fun <T> List<T>.last(predicate: (T) -> Boolean): T | ||
</syntaxhighlight> | </syntaxhighlight>ويمكن استدعاء هذه الدالة أيضًا مع [[Kotlin/collections|المجموعات]] والقوائم:<syntaxhighlight lang="kotlin"> | ||
fun <T> Iterable<T>.last(): T | fun <T> Iterable<T>.last(): T | ||
fun <T> List<T>.last(): T | fun <T> List<T>.last(): T | ||
</syntaxhighlight> | </syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة <nowiki/>[[Kotlin/inline functions|الدوال المباشرة (inline functions)]]). | ||
==القيم المٌعادة== | ==القيم المٌعادة== | ||
يُعاد آخر عنصر من عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] المعطاة إن لم يُمرَّر أي معامل، أو أول عنصر يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية كمعامل. | |||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>()last</code> مع المصفوفات: | ===استخدام الدالة <code>()last</code> مع المصفوفات: عدم تمرير أي معامل=== | ||
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> | تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> باستخدام الدالة <code>()arrayOf</code> ثمَّ تستخدم الدالة <code>()last</code> لجلب آخر عنصر من عناصر تلك المصفوفة:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val array = arrayOf(9, 2, 3, 8, 5, 6) | val array = arrayOf(9, 2, 3, 8, 5, 6) | ||
println(array.last( | println(array.last()) // 6 | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===استخدام الدالة <code>()last</code> مع المصفوفات: | ===استخدام الدالة <code>()last</code> مع المصفوفات: تمرير معامل=== | ||
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> | تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> باستخدام الدالة <code>()arrayOf</code>، ثمَّ تستخدم الدالة <code>()last</code> لجلب أخر عنصر من تلك المصفوفة شرط أن تكون قيمته أصغر من 6<nowiki/>:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val array = arrayOf(9, 2, 3, | val array = arrayOf(9, 2, 3, 8, 5, 6) | ||
val predicate | val predicate: (Int) -> Boolean = { it < 6 } | ||
println(array.last(predicate)) // | println(array.last(predicate)) // 5 | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
*<code>[[Kotlin/collections/lastIndexOf|lastIndexOf()]]</code>: | * الدالة <code>[[Kotlin/collections/first|first()]]</code>: أول عنصر من عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت معها إن لم يمرر إليها أي شيء، أو أول عنصر يحق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها. | ||
*الدالة <code>[[Kotlin/collections/lastIndexOf|lastIndexOf()]]</code>: تجلب فهرس آخر ظهور لعنصر محدَّد من <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو القائمة التي استُدعيت معها. | |||
* الدالة <code>[[Kotlin/collections/find|find()]]</code>: تبحث على عنصر محدَّد ضمن عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت معها ثمَّ تعيد أول ظهور له. | |||
* الدالة <code>[[Kotlin/collections/filter|filter()]]</code>: ترشِّح عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها. | |||
==مصادر== | ==مصادر== | ||
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/last.html الدالة | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/last.html صفحة الدالة last() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 18:00، 24 يوليو 2018
تجلب الدالة last()
آخر عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها إن لم يمرر إليها أي شيء، أو آخر عنصر يحق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.
إن كانت المصفوفة أو المجموعة التي استُدعيت الدالة first()
عبرها فارغة أو لم يكن هناك أي عنصر يحقق الدالة المنطقية الممرَّرة إليها، فستُطلِق الدالة الاستثناء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
ويمكن أيضًا استدعاء هذه الدالة مع تمرير دالة تمثِّل شرطًا منطقيًّا إليها:
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
ويمكن استدعاء هذه الدالة أيضًا مع المجموعات والقوائم:
fun <T> Iterable<T>.last(): T
fun <T> List<T>.last(): T
وجود الكلمة المفتاحية inline
يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).
القيم المٌعادة
يُعاد آخر عنصر من عناصر المصفوفة أو المجموعة المعطاة إن لم يُمرَّر أي معامل، أو أول عنصر يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية كمعامل.
أمثلة
استخدام الدالة ()last
مع المصفوفات: عدم تمرير أي معامل
تعرف الشيفرة الآتية مصفوفة باسم array
باستخدام الدالة ()arrayOf
ثمَّ تستخدم الدالة ()last
لجلب آخر عنصر من عناصر تلك المصفوفة:
fun main(args: Array<String>) {
val array = arrayOf(9, 2, 3, 8, 5, 6)
println(array.last()) // 6
}
استخدام الدالة ()last
مع المصفوفات: تمرير معامل
تعرف الشيفرة الآتية مصفوفة باسم array
باستخدام الدالة ()arrayOf
، ثمَّ تستخدم الدالة ()last
لجلب أخر عنصر من تلك المصفوفة شرط أن تكون قيمته أصغر من 6:
fun main(args: Array<String>) {
val array = arrayOf(9, 2, 3, 8, 5, 6)
val predicate: (Int) -> Boolean = { it < 6 }
println(array.last(predicate)) // 5
}
انظر أيضًا
- الدالة
first()
: أول عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها إن لم يمرر إليها أي شيء، أو أول عنصر يحق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها. - الدالة
lastIndexOf()
: تجلب فهرس آخر ظهور لعنصر محدَّد من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها. - الدالة
find()
: تبحث على عنصر محدَّد ضمن عناصر المصفوفة أو المجموعة التي استُدعيت معها ثمَّ تعيد أول ظهور له. - الدالة
filter()
: ترشِّح عناصر المصفوفة أو المجموعة أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.