التابع getOrElse() في لغة Kotlin
تعيد الدالة getOrElse()
قيمة العنصر عند الفهرس 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
موجودًا.
أمثلة
استخدام التابع getOrElse()
على قاموس
تُنشئ الشيفرة الآتية قاموسًا باسم map
بواسطة الدالة mutableMapOf()
: ثم تستدعي getOrElse()
عبر 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
إن كان الفهرس خارج الحدود.