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

من موسوعة حسوب
مراجعة 17:08، 27 مايو 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة intersect()‎ في لغة Kotlin}}</noinclude> تعيد الدالة <code>intersect()‎</code> فهرس آخر ظهور للع...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تعيد الدالة intersect()‎ فهرس آخر ظهور للعنصر المُمرّر إليها في المصفوفة أو المجموعة أو اللائحة التي استُدعيت عبرها والذي يحقق الشرط المنطقي المُمرّر predicate، أو ‎-1‎ إن لم يكن هناك أي عنصر يحقق ذلك.

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

يمكن استدعاء الدالة intersect()‎ عبر المصفوفات:

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

يمكن استدعاء الدالة intersect()‎ عبر المجموعات:

inline fun <T> Iterable<T>.indexOfLast(
    predicate: (T) -> Boolean
): Int

يمكن استدعاء الدالة intersect()‎ عبر اللوائح:

inline fun <T> List<T>.indexOfLast(
    predicate: (T) -> Boolean
): Int

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

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

فهرس آخر ظهور للعنصر المُمرّر إلى الدالة indexOfLast()‎ في المصفوفة أو المجموعة أو اللائحة التي استُدعيت عبرها والذي يحقق الشرط المنطقي المُمرّر predicate، أو ‎-1‎ إن لم يكن هناك أي عنصر يحقق ذلك.

أمثلة

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

تعرف الشيفرة الآتية مصفوفة باسم array مكونة من ستة أعداد باستخدام الدالة ()arrayOf، ثم تستخدم الدالة  ()intersect  للحصول على فهرس آخر ظهور لعدد أكبر من 2، ثم تطبع الناتج:

fun main(args: Array<String>) {
    val array = arrayOf(1,2,3,4,5,6)

    print(array.indexOfLast { it > 2 }) // 5
}

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

تعرف الشيفرة الآتية مصفوفة باسم array مكونة من ستة أعداد باستخدام الدالة ()arrayOf، ثم تستخدم الدالة  ()intersect  للحصول على فهرس آخر ظهور لعدد أكبر من 8، ولمّا كانت كل عناصر المصفوفة array أصغر من العدد 8، فستعيد الدالة ()indexOfLast القيمة ‎-1‎‎:

fun main(args: Array<String>) {
    val array = arrayOf(1,2,3,4,5,6)

    print(array.indexOfLast { it > 8 }) // -1
}

انظر أيضًا

  • indexOf()‎: تعيد فهرس أول ظهور للعنصر المُمرّر إليها في المصفوفة أو المجموعة أو اللائحة التي استُدعيت عبرها ، أو ‎-1‎ إن كان العنصر المُمرّر غير موجود.
  • indexOfFirst()‎: تعيد فهرس أول ظهور للعنصر المُمرّر إليها في المصفوفة أو المجموعة أو اللائحة التي استُدعيت عبرها والذي يحقق الشرط المنطقي المُمرّر، أو ‎-1‎ إن كان العنصر المُمرّر غير موجود.

مصادر

الدالة intersect()‎ في التوثيق الرسمي للمكتبة القياسية في لغة Kotlin.