الفرق بين المراجعتين ل"Kotlin/collections/getOrNull"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع getOrNull()‎ في لغة Kotlin}}</noinclude> تعيد الدالة <code>getOrNull()‎</code> قيمة العنصر عند ا...')
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع getOrNull()‎ في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة getOrNull()‎ في لغة Kotlin}}</noinclude>
تعيد الدالة <code>getOrNull()‎</code> قيمة العنصر عند الفهرس <code>index</code> المُحدَّد في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. ، أو نتيجة استدعاء  الدالة المُمرّرة  <code>defaultValue</code> إن كان الفهرس خارج الحدود.
+
تعيد الدالة <code>getOrNull()‎</code> قيمة العنصر عند الفهرس <code>index</code> المُحدَّد في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. ، أو <code>null</code> إن كان الفهرس خارج الحدود.
 
 
ان استُدعيت الدالة عبر [[Kotlin/collections/Map|قاموس]] فستُعيد القيمة المقابلة للمفتاح <code>key</code> المُمرّر إلى الدالة، أو نتيجة استدعاء  الدالة المُمرّرة  <code>defaultValue</code> إن كان المفتاح <code>key</code> موجودًا.
 
 
== البنية العامة ==
 
== البنية العامة ==
 
يمكن استدعاء  الدالة <code>getOrElse()‎</code> عبر [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin">
 
يمكن استدعاء  الدالة <code>getOrElse()‎</code> عبر [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.getOrElse(
+
fun <T> Array<out T>.getOrNull(index: Int): T?
    index: Int,
+
fun ByteArray.getOrNull(index: Int): Byte?
    defaultValue: (Int) -> T
+
fun ShortArray.getOrNull(index: Int): Short?
): T  
+
fun IntArray.getOrNull(index: Int): Int?
inline fun ByteArray.getOrElse(
+
fun LongArray.getOrNull(index: Int): Long?
    index: Int,
+
fun FloatArray.getOrNull(index: Int): Float?
    defaultValue: (Int) -> Byte
+
fun DoubleArray.getOrNull(index: Int): Double?
): Byte  
+
fun BooleanArray.getOrNull(index: Int): Boolean?
inline fun ShortArray.getOrElse(
+
fun CharArray.getOrNull(index: Int): Char?
    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  
 
  
 
</syntaxhighlight>يمكن استدعاء  الدالة <code>getOrElse()‎</code> عبر [[Kotlin/collections|المجموعات]]:<syntaxhighlight lang="kotlin">
 
</syntaxhighlight>يمكن استدعاء  الدالة <code>getOrElse()‎</code> عبر [[Kotlin/collections|المجموعات]]:<syntaxhighlight lang="kotlin">
inline fun <T> List<T>.getOrElse(
+
fun <T> List<T>.getOrNull(index: Int): T?
    index: Int,
+
</syntaxhighlight>
    defaultValue: (Int) -> T
 
): T  
 
</syntaxhighlight>يمكن استدعاء  الدالة <code>getOrElse()‎</code> عبر [[Kotlin/collections|القواميس]]:<syntaxhighlight lang="kotlin">
 
inline fun <K, V> Map<K, V>.getOrElse(
 
    key: K,
 
    defaultValue: () -> V
 
): V
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
 
 
 
 
== القيم المعادة ==
 
== القيم المعادة ==
قيمة العنصر عند الفهرس <code>index</code> المُحدَّد في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. ، أو نتيجة استدعاء  الدالة المُمرّرة  <code>defaultValue</code> إن كان الفهرس خارج الحدود.
+
قيمة العنصر عند الفهرس <code>index</code> المُحدَّد في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. ، أو <code>null</code> إن كان الفهرس خارج الحدود.
 
 
ان استُدعيت الدالة عبر [[Kotlin/collections/Map|قاموس]] فستُعيد القيمة المقابلة للمفتاح <code>key</code> المُمرّر إلى الدالة، أو نتيجة استدعاء  الدالة المُمرّرة  <code>defaultValue</code> إن كان المفتاح <code>key</code> موجودًا.
 
 
== أمثلة ==
 
== أمثلة ==
  
=== استخدام التابع <code>getOrNull()‎</code> على قاموس ===
+
=== استخدام الدالة<code>getOrNull()‎</code> على مصفوفة: الحالة الأولى ===
تُنشئ الشيفرة الآتية [[Kotlin/collections|قاموسًا]] باسم <code>map</code> بواسطة الدالة <code>mutableMapOf()</code>‎: ثم تستدعي <code>getOrNull()</code>‎ عبر <code>map</code> لأجل استعادة بعض القيم منه بتمرير قيمة المفتاح ودالة ثابتة تساوي 1:<syntaxhighlight lang="kotlin">
+
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة  <code>()getOrNull</code>  للحصول على قيمة العنصر عند الفهرس <code>2</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val map = mutableMapOf<String, Int?>()
+
    val array = arrayOf(1,2,3,4,5,6)
println(map.getOrElse("x") { 1 }) // 1
 
  
map["x"] = 3
+
    print(array.getOrNull(2)) // 3
println(map.getOrElse("x") { 1 }) // 3
+
}
 +
</syntaxhighlight>
 +
 
 +
=== استخدام الدالة<code>getOrNull()‎</code> على مصفوفة: الحالة الثانية ===
 +
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة  <code>()getOrNull</code>  للحصول على قيمة العنصر عند الفهرس <code>8</code>، ولما كان هذا الفهرس خارج الحدود، فستعيد الدالة <code>()getOrNull</code>  القيمة المعدومة <code>null</code>:<syntaxhighlight lang="kotlin">
 +
fun main(args: Array<String>) {
 +
    val array = arrayOf(1,2,3,4,5,6)
  
map["x"] = null
+
    print(array.getOrNull(8)) // null
println(map.getOrElse("x") { 1 }) // 1
 
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* <code>[[Kotlin/collections/getOrNull|getOrNull]]()‎</code>: تعيد قيمة العنصر عند الفهرس <code>index</code> المُحدَّد في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. ، أو <code>null</code> إن كان الفهرس خارج الحدود.
+
* <code>[[Kotlin/collections/getOrElse|getOrElse]]()‎</code>: تعيد قيمة العنصر عند الفهرس <code>index</code> المُحدَّد في <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. ، أو نتيجة استدعاء الدالة المُمرّرة  <code>defaultValue</code> إن كان الفهرس خارج الحدود. ان استُدعيت الدالة عبر قاموس فستُعيد القيمة المقابلة للمفتاح <code>key</code> المُمرّر إلى الدالة، أو نتيجة استدعاء الدالة المُمرّرة  <code>defaultValue</code> إن كان المفتاح<code>key</code> موجودًا.
  
 
== مصادر ==
 
== مصادر ==
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/get-or-else.html التابع getOrNull()<code></code> في التوثيق الرسمي للمكتبة القياسية في لغة Kotlin]
+
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/get-or-null.html الدالة getOrNull()‎ في التوثيق الرسمي للمكتبة القياسية في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Methods]]
 
[[تصنيف:Kotlin Methods]]

مراجعة 14:53، 19 مايو 2018

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

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

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

fun <T> Array<out T>.getOrNull(index: Int): T? 
fun ByteArray.getOrNull(index: Int): Byte? 
fun ShortArray.getOrNull(index: Int): Short? 
fun IntArray.getOrNull(index: Int): Int? 
fun LongArray.getOrNull(index: Int): Long? 
fun FloatArray.getOrNull(index: Int): Float? 
fun DoubleArray.getOrNull(index: Int): Double? 
fun BooleanArray.getOrNull(index: Int): Boolean? 
fun CharArray.getOrNull(index: Int): Char?

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

fun <T> List<T>.getOrNull(index: Int): T?

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

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

أمثلة

استخدام الدالةgetOrNull()‎ على مصفوفة: الحالة الأولى

تعرف الشيفرة الآتية مصفوفة باسم array مكونة من ستة أعداد باستخدام الدالة ()arrayOf، ثم تستخدم الدالة  ()getOrNull  للحصول على قيمة العنصر عند الفهرس 2، ثم تطبع الناتج:

fun main(args: Array<String>) {
    val array = arrayOf(1,2,3,4,5,6)

    print(array.getOrNull(2)) // 3 
}

استخدام الدالةgetOrNull()‎ على مصفوفة: الحالة الثانية

تعرف الشيفرة الآتية مصفوفة باسم array مكونة من ستة أعداد باستخدام الدالة ()arrayOf، ثم تستخدم الدالة  ()getOrNull  للحصول على قيمة العنصر عند الفهرس 8، ولما كان هذا الفهرس خارج الحدود، فستعيد الدالة ()getOrNull  القيمة المعدومة null:

fun main(args: Array<String>) {
    val array = arrayOf(1,2,3,4,5,6)

    print(array.getOrNull(8)) // null
}

انظر أيضًا

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

مصادر