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

من موسوعة حسوب
ط مراجعة وتدقيق.
ط تدقيق الأمثلة.
سطر 56: سطر 56:
تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>باستخدام الدالة <code>()arrayOf</code> ثمَّ تعرِّف دالة باسم <code>default</code> لاستعمالها مع <code>()elementAtOrElse</code> إن كان العنصر المراد جلبه يقع خارج مجال المصفوفة:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>باستخدام الدالة <code>()arrayOf</code> ثمَّ تعرِّف دالة باسم <code>default</code> لاستعمالها مع <code>()elementAtOrElse</code> إن كان العنصر المراد جلبه يقع خارج مجال المصفوفة:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
     val array = arrayOf(1,2,3,4,5,6)
     val array = arrayOf(1, 2, 3, 4, 5, 6)
     val default: (Int) -> Int = { it * 10}
     val default: (Int) -> Int = { it * 10 }


     println(array.elementAtOrElse(2,default)) // 3
     println(array.elementAtOrElse(2, default)) // 3
}
}
</syntaxhighlight>
</syntaxhighlight>
سطر 65: سطر 65:
تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>باستخدام الدالة <code>()arrayOf</code> ثمَّ تعرِّف دالة باسم <code>default</code> لاستعمالها مع <code>()elementAtOrElse</code> إن كان العنصر المراد جلبه يقع خارج مجال المصفوفة:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>باستخدام الدالة <code>()arrayOf</code> ثمَّ تعرِّف دالة باسم <code>default</code> لاستعمالها مع <code>()elementAtOrElse</code> إن كان العنصر المراد جلبه يقع خارج مجال المصفوفة:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
     val array = arrayOf(1,2,3,4,5,6)
     val array = arrayOf(1, 2, 3, 4, 5, 6)
     val default: (Int) -> Int = { it * 10}
     val default: (Int) -> Int = { it * 10 }


     println(array.elementAtOrElse(12,default)) // 120
     println(array.elementAtOrElse(12, default)) // 120
}
}
</syntaxhighlight>
</syntaxhighlight>
سطر 78: سطر 78:
* التابع <code>[[Kotlin/Array/get|Array.get()‎]]</code>: يعيد قيمة العنصر ذي الفهرس (index) المعطى الموجود في مصفوفة.
* التابع <code>[[Kotlin/Array/get|Array.get()‎]]</code>: يعيد قيمة العنصر ذي الفهرس (index) المعطى الموجود في مصفوفة.
==مصادر==
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/element-at-or-else.html الدالة  elementAtOrElse()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/element-at-or-else.html الدالة elementAtOrElse()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Functions]]

مراجعة 10:24، 5 يوليو 2018

تجلب الدالة elementAtOrElse()‎ عنصرًا ذي فهرس معيَّن من المصفوفة أو المجموعة التي استُدعيت معها. إن كان الفهرس المعطى خارج حدود المصفوفة أو المجموعة، فستُعيد الدالة ناتج استدعاء دالة معينة.

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

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

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

ومع المجموعات:

fun <T> Iterable<T>.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> T
): T

ومع القوائم:

inline fun <T> List<T>.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> T
): T

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

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

يُعاد العنصر ذي الفهرس المعطى والموجود ضمن نطاق المصفوفة أو المجموعة المعطاة، أو ناتج استدعاء الدالة defaultValue()‎ إن كان فهرس العنصر المعطى يقع خارج حدود المصفوفة أو المجموعة.

أمثلة

استخدام الدالة ()elementAtOrElse مع المصفوفات لجلب عنصر موجود

تعرِّف الشيفرة الآتية مصفوفة باسم arrayباستخدام الدالة ()arrayOf ثمَّ تعرِّف دالة باسم default لاستعمالها مع ()elementAtOrElse إن كان العنصر المراد جلبه يقع خارج مجال المصفوفة:

fun main(args: Array<String>) {
    val array = arrayOf(1, 2, 3, 4, 5, 6)
    val default: (Int) -> Int = { it * 10 }

    println(array.elementAtOrElse(2, default)) // 3
}

استخدام الدالة ()elementAtOrElse مع المصفوفات لجلب عنصر غير موجود

تعرِّف الشيفرة الآتية مصفوفة باسم arrayباستخدام الدالة ()arrayOf ثمَّ تعرِّف دالة باسم default لاستعمالها مع ()elementAtOrElse إن كان العنصر المراد جلبه يقع خارج مجال المصفوفة:

fun main(args: Array<String>) {
    val array = arrayOf(1, 2, 3, 4, 5, 6)
    val default: (Int) -> Int = { it * 10 }

    println(array.elementAtOrElse(12, default)) // 120
}

انظر أيضًا

مصادر