الفرق بين المراجعتين ل"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: تجلب الفهرس الأخير لمصفوفة أو قائمة.

مصادر