الدالة first()‎ في لغة Kotlin

من موسوعة حسوب
< Kotlin‏ | collections
مراجعة 18:54، 15 مايو 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>first()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>first()‎</code> العنصر الأخير...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

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

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

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 المُمرّر إليها. وإن لم يكن هناك أي عنصر يحقق ذلك فستعيد null.

أمثلة

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

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

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

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

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

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

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

println(array.find(predicate)) // null
}

انظر أيضًا

  • find()‎: تعيد العنصر الأول من المصفوفة أو المجموعة التي استُدعيت عبرها والذي يحقق الشرط المنطقي predicate المُمرّر إليها. وإن لم يكن هناك أي عنصر يحقق ذلك فستعيد null.

مصادر