التابع getOrNull()‎ في لغة Kotlin

من موسوعة حسوب
< Kotlin‏ | collections
مراجعة 14:39، 19 مايو 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع getOrNull()‎ في لغة Kotlin}}</noinclude> تعيد الدالة <code>getOrNull()‎</code> قيمة العنصر عند ا...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

تعيد الدالة getOrNull()‎ قيمة العنصر عند الفهرس index المُحدَّد في المصفوفة أو المجموعة التي استُدعيت عبرها. ، أو نتيجة استدعاء الدالة المُمرّرة  defaultValue إن كان الفهرس خارج الحدود.

ان استُدعيت الدالة عبر قاموس فستُعيد القيمة المقابلة للمفتاح key المُمرّر إلى الدالة، أو نتيجة استدعاء الدالة المُمرّرة  defaultValue إن كان المفتاح key موجودًا.

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

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

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

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

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

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

inline fun <K, V> Map<K, V>.getOrElse(
    key: K, 
    defaultValue: () -> V
): V

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

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

قيمة العنصر عند الفهرس index المُحدَّد في المصفوفة أو المجموعة التي استُدعيت عبرها. ، أو نتيجة استدعاء الدالة المُمرّرة  defaultValue إن كان الفهرس خارج الحدود.

ان استُدعيت الدالة عبر قاموس فستُعيد القيمة المقابلة للمفتاح key المُمرّر إلى الدالة، أو نتيجة استدعاء الدالة المُمرّرة  defaultValue إن كان المفتاح key موجودًا.

أمثلة

استخدام التابع getOrNull()‎ على قاموس

تُنشئ الشيفرة الآتية قاموسًا باسم map بواسطة الدالة mutableMapOf()‎: ثم تستدعي getOrNull()‎ عبر map لأجل استعادة بعض القيم منه بتمرير قيمة المفتاح ودالة ثابتة تساوي 1:

fun main(args: Array<String>) {
val map = mutableMapOf<String, Int?>()
println(map.getOrElse("x") { 1 }) // 1

map["x"] = 3
println(map.getOrElse("x") { 1 }) // 3

map["x"] = null
println(map.getOrElse("x") { 1 }) // 1
}

انظر أيضًا

  • getOrNull()‎: تعيد قيمة العنصر عند الفهرس index المُحدَّد في المصفوفة أو المجموعة التي استُدعيت عبرها. ، أو null إن كان الفهرس خارج الحدود.

مصادر