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

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


</syntaxhighlight>يمكن تمرير وسيط <code>predicate</code> إلى الدالة<code>lastIndexOf()‎</code>:<syntaxhighlight lang="kotlin">
fun <T> Iterable<T>.lastIndexOf(element: T): Int  
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
</syntaxhighlight>يمكن استدعاء  الدالة<code>last()‎</code> على [[Kotlin/collections|المجموعات]]:<syntaxhighlight lang="kotlin">
fun <T> Iterable<T>.last(): T


</syntaxhighlight>يمكن استدعاء  الدالة<code>lastIndexOf()‎</code> على [[Kotlin/List|اللوائح]]:<syntaxhighlight lang="kotlin">
fun <T> List<T>.lastIndexOf(element: T): Int
fun <T> List<T>.last(): T


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


println(array.last(predicate)) // إطلاق استثناء
    print(array.lastIndexOf("محمد"‎)) // 3
    print(array.lastIndexOf("احمد"‎)) // -1
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
*<code>[[Kotlin/collections/lastIndexOf|lastIndexOf()]]</code>‎: تعيد آخر فهرس للعنصر الممرّر في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. وإن لم يكن العنصر موجودًا  فستعيد ‎<code>-1‎</code>.
* الدالة <code>[[Kotlin/collections/indexOf|indexOf()‎]]</code>: تجلب فهرس أول ظهور لعنصر محدَّد من <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو القائمة التي استُدعيت معها.
*الدالة <code>[[Kotlin/collections/last|last()]]</code>‎: تجلب آخر عنصر من عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت معها إن لم يمرر إليها أي شيء، أو آخر عنصر يحق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.
* الدالة <code>[[Kotlin/collections/indexOfLast|indexOfLast()‎]]</code>: تجلب فهرس آخر عنصر يحقِّق شرطًا معيَّنًا من <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو القائمة التي استُدعيت معها.
* الخاصية <code>[[Kotlin/collections/lastIndex|‎‎lastIndex]]</code>: تجلب الفهرس الأخير لمصفوفة أو قائمة.
==مصادر==
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/last.html الدالة  lastIndexOf()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/last-index-of.html صفحة الدالة lastIndexOf()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Collection]]

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

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

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

يمكن استدعاء الدالة lastIndexOf()‎ مع المصفوفات، والمجموعات والقوائم:

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

fun <T> Iterable<T>.lastIndexOf(element: T): Int 

fun <T> List<T>.lastIndexOf(element: T): Int

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

يعاد فهرس آخر ظهور للعنصر المعطى والموجود في المصفوفة أو المجموعة أو القائمة المعطاة، أو القيمة ‎-1 إن لم يعثر على العنصر.

أمثلة

تعرف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf ثمَّ تستخدم الدالة ()lastIndexOf  لجلب فهرس العنصر "محمد" والعنصر "احمد" إن وجدا:

fun main(args: Array<String>) {
    val array = arrayOf("محمد", "عادل", "خالد", "محمد",  "أحمد")

    print(array.lastIndexOf("محمد")) // 3
    print(array.lastIndexOf("احمد")) // -1
}

انظر أيضًا

  • الدالة indexOf()‎: تجلب فهرس أول ظهور لعنصر محدَّد من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها.
  • الدالة last()‎: تجلب آخر عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها إن لم يمرر إليها أي شيء، أو آخر عنصر يحق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.
  • الدالة indexOfLast()‎: تجلب فهرس آخر عنصر يحقِّق شرطًا معيَّنًا من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها.
  • الخاصية ‎‎lastIndex: تجلب الفهرس الأخير لمصفوفة أو قائمة.

مصادر