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

من موسوعة حسوب
ط استبدال النص - 'Kotlin Functions' ب'Kotlin Function'
طلا ملخص تعديل
سطر 50: سطر 50:
): T
): T
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]]).
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]]).
== المعاملات ==
=== <code>index</code> ===
عدد صحيح يمثل فهرس العنصر المراد جلبه من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة.
=== <code>defaultValue</code> ===
دالةٌ تستدعى عندما يكون الفهرس <code>index</code> خارج حدود <nowiki/>[[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]].
==القيم المعادة==
==القيم المعادة==
يُعاد العنصر ذي الفهرس المعطى والموجود ضمن نطاق [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] المعطاة، أو ناتج استدعاء الدالة <code>defaultValue()‎</code> إن كان فهرس العنصر المعطى يقع خارج حدود [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]].
يُعاد العنصر ذي الفهرس المعطى والموجود ضمن نطاق [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] المعطاة، أو ناتج استدعاء الدالة <code>defaultValue()‎</code> إن كان فهرس العنصر المعطى يقع خارج حدود [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]].
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()elementAtOrElse</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)
سطر 62: سطر 70:
}
}
</syntaxhighlight>
</syntaxhighlight>
===استخدام الدالة <code>()elementAtOrElse</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)

مراجعة 04:48، 3 سبتمبر 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 يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع توثيق الدوال المباشرة).

المعاملات

index

عدد صحيح يمثل فهرس العنصر المراد جلبه من المصفوفة أو المجموعة المعطاة.

defaultValue

دالةٌ تستدعى عندما يكون الفهرس index خارج حدود المصفوفة أو المجموعة.

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

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

أمثلة

استعمال الدالة ()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 لحاولة جلب عنصر يقع خارج مصفوفة:

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
}

انظر أيضًا

مصادر