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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع getOrNull()‎ في لغة Kotlin}}</noinclude> تعيد الدالة <code>getOrNull()‎</code> قيمة العنصر عند ا...'
 
طلا ملخص تعديل
 
(5 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع getOrNull()‎ في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>getOrNull()‎</code> في Kotlin}}</noinclude>
تعيد الدالة <code>getOrNull()‎</code> قيمة العنصر عند الفهرس <code>index</code> المُحدَّد في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. ، أو نتيجة استدعاء  الدالة المُمرّرة  <code>defaultValue</code> إن كان الفهرس خارج الحدود.
تجلب الدالة <code>getOrNull()‎</code> عنصرًا ذا فهرس مُحدَّد من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها أو تعيد القيمة <code>null</code> إن كان الفهرس المعطى يقع خارج حدود المصفوفة أو المجموعة.
== البنية العامة ==
يمكن استدعاء  الدالة <code>getOrElse()‎</code> مع [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin">
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?


ان استُدعيت الدالة عبر [[Kotlin/collections/Map|قاموس]] فستُعيد القيمة المقابلة للمفتاح <code>key</code> المُمرّر إلى الدالة، أو نتيجة استدعاء  الدالة المُمرّرة  <code>defaultValue</code> إن كان المفتاح <code>key</code> موجودًا.
</syntaxhighlight>ويمكن استدعاؤها مع [[Kotlin/collections|المجموعات]] أيضًا:<syntaxhighlight lang="kotlin">
== البنية العامة ==
fun <T> List<T>.getOrNull(index: Int): T?
يمكن استدعاء  الدالة <code>getOrElse()‎</code> عبر [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin">
</syntaxhighlight>
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


</syntaxhighlight>يمكن استدعاء  الدالة <code>getOrElse()‎</code> عبر [[Kotlin/collections|المجموعات]]:<syntaxhighlight lang="kotlin">
=== <code>index</code> ===
inline fun <T> List<T>.getOrElse(
عدد صحيح يمثل فهرس العنصر المراد جلبه.
    index: Int,
    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> لجلب قيمة العنصر ذي الفهرس 2:<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>


map["x"] = null
=== استخدام الدالة<code>getOrNull()‎</code> على مصفوفة: العنصر غير موجود ===
println(map.getOrElse("x") { 1 }) // 1
تعرِّف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> باستخدام الدالة <code>()arrayOf</code> ثمَّ تستخدم الدالة <code>()getOrNull</code> لجلب قيمة العنصر ذي الفهرس 8:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
    val array = arrayOf(1, 2, 3, 4, 5, 6)
 
    print(array.getOrNull(8)) // null
}
}
</syntaxhighlight>
</syntaxhighlight>
== انظر أيضًا ==
== انظر أيضًا ==
* <code>[[Kotlin/collections/getOrNull|getOrNull]]()‎</code>: تعيد قيمة العنصر عند الفهرس <code>index</code> المُحدَّد في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. ، أو <code>null</code> إن كان الفهرس خارج الحدود.
* الدالة <code>[[Kotlin/collections/getOrElse|getOrElse()]]‎</code>: تجلب عنصرًا ذي فهرس مُحدَّد من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها أو القيمة المقابلة لمفتاح محدَّد إن استدعيت مع خريطة. إن كان الفهرس المعطى يقع خارج حدود المصفوفة أو المجموعة أو كان المفتاح المعطى غير موجود في الخريطة، فسيُعاد ناتج استدعاء دالة معيَّنة معطاة.
* الدالة <nowiki/>[[Kotlin/collections/filter|<code>filter()</code>‎]]: ترشِّح عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.
* الدالة <code>[[Kotlin/collections/filterNotNull|filterNotNull()‎]]</code>: تعيد جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] المعطاة باستثناء تلك ذات القيمة <code>null</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 Function]]
[[تصنيف:Kotlin Collection]]

المراجعة الحالية بتاريخ 08:11، 8 سبتمبر 2018

تجلب الدالة getOrNull()‎ عنصرًا ذا فهرس مُحدَّد من المصفوفة أو المجموعة التي استُدعيت معها أو تعيد القيمة 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?

ويمكن استدعاؤها مع المجموعات أيضًا:

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

المعاملات

index

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

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

يُعاد العنصر ذو الفهرس 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:

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

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

انظر أيضًا

  • الدالة getOrElse(): تجلب عنصرًا ذي فهرس مُحدَّد من المصفوفة أو المجموعة التي استُدعيت معها أو القيمة المقابلة لمفتاح محدَّد إن استدعيت مع خريطة. إن كان الفهرس المعطى يقع خارج حدود المصفوفة أو المجموعة أو كان المفتاح المعطى غير موجود في الخريطة، فسيُعاد ناتج استدعاء دالة معيَّنة معطاة.
  • الدالة filter(): ترشِّح عناصر المصفوفة أو المجموعة أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.
  • الدالة filterNotNull()‎: تعيد جميع عناصر المصفوفة أو المجموعة المعطاة باستثناء تلك ذات القيمة null.

مصادر