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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>orEmpty()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>orEmpty()‎</code> في Kotlin}}</noinclude>
تعيد الدالة<code>orEmpty()‎</code>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو [[Kotlin/List|اللائحة]] أو [[Kotlin/Map|القاموس]] الذي استُدعيت عبره إن لم يكن يساوي <code>null</code>، أو تعيد [[Kotlin/Array|مصفوفة]] أو <nowiki/>[[Kotlin/collections|مجموعة]] أو [[Kotlin/List|لائحة]] أو [[Kotlin/Map|قاموسًا]] فارغًا.
+
<nowiki/><nowiki/>تعيد الدالة <code>orEmpty()‎</code> المصفوفة أو المجموعة أو القائمة أو الخريطة التي استُدعيت معها إن لم تكن مساويةً للقيمة <code>null</code>، أو تعيد كائنًا فارغًا يقابل الكائن المعطى (مصفوفة فارغة، أو مجموعة فارغة ...إلخ.) خلاف ذلك.
 
==البنية العامة==
 
==البنية العامة==
يمكن استدعاء الدالة <code>orEmpty()‎</code> عبر  '''[[Kotlin/Array|المصفوفات]]:'''<syntaxhighlight lang="kotlin">
+
يمكن استدعاء الدالة <code>orEmpty()‎</code> مع [[Kotlin/Array|المصفوفات]] و<nowiki/>[[Kotlin/collections|المجموعات]] و<nowiki/>[[Kotlin/List|القوائم]] والخرائط والمجموعات التي من النوع <code>[[Kotlin/Set|Set]]</code>:<syntaxhighlight lang="kotlin">
 
inline fun <reified T> Array<out T>?.orEmpty(): Array<out T>  
 
inline fun <reified T> Array<out T>?.orEmpty(): Array<out T>  
  
</syntaxhighlight>يمكن استدعاء الدالة <code>orEmpty()‎</code> عبر  [[Kotlin/collections|المجموعات]]''':'''
 
<syntaxhighlight lang="kotlin">
 
 
inline fun <T> Collection<T>?.orEmpty(): Collection<T>  
 
inline fun <T> Collection<T>?.orEmpty(): Collection<T>  
  
</syntaxhighlight>يمكن استدعاء الدالة <code>orEmpty()‎</code> عبر  [[Kotlin/List|اللوائح]]''':'''
 
<syntaxhighlight lang="kotlin">
 
 
inline fun <T> List<T>?.orEmpty(): List<T>  
 
inline fun <T> List<T>?.orEmpty(): List<T>  
  
</syntaxhighlight>يمكن استدعاء الدالة <code>orEmpty()‎</code> عبر  '''[[Kotlin/Map|القواميس]]:'''<syntaxhighlight lang="kotlin">
 
 
inline fun <K, V> Map<K, V>?.orEmpty(): Map<K, V> (source)
 
inline fun <K, V> Map<K, V>?.orEmpty(): Map<K, V> (source)
  
</syntaxhighlight>يمكن استدعاء الدالة <code>orEmpty()‎</code> عبر  المجموعات من النوع <code>[[Kotlin/Set|Set]]</code>''':'''<syntaxhighlight lang="kotlin">
 
 
inline fun <K, V> Map<K, V>?.orEmpty(): Map<K, V> (source)
 
inline fun <K, V> Map<K, V>?.orEmpty(): Map<K, V> (source)
  
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
+
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة [[Kotlin/inline functions|الدوال المباشرة (inline functions)]]).
==القيم المٌعادة==
+
==القيم المعادة==
[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو [[Kotlin/List|اللائحة]] أو [[Kotlin/Map|القاموس]] الذي استُدعيت عبره إن لم يكن يساوي <code>null</code>، أو تعيد  [[Kotlin/Array|مصفوفة]] أو <nowiki/>[[Kotlin/collections|مجموعة]] أو [[Kotlin/List|لائحة]] أو [[Kotlin/Map|قاموسًا]] فارغًا.
+
تُعاد المصفوفة أو المجموعة أو القائمة أو الخريطة المعطاة إن لم تكن مساويةً للقيمة <code>null</code>، أو يُعاد كائن فارغ يقابل الكائن المعطى (مصفوفة فارغة، أو مجموعة فارغة ...إلخ.) خلاف ذلك.
 
==أمثلة==
 
==أمثلة==
===استخدام الدالة <code>()orEmpty</code> مع المصفوفات===
+
التأكد من عدم تساوي المصفوفة مع القيمة <code>null</code>:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية  عنصرًا من النوع <code>Array<Any>?</code>‎ باسم <code>nullArray</code><nowiki/>، وتعطيه القيمة <code>null</code>، ثم تستدعي الدالة <code>()orEmpty</code>  عبر <code>nullArray</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val nullArray: Array<Any>? = null
+
    val array1: Array<Any>? = null
      
+
     val array2: Array<Char>? = arrayOf('a', 'b', 'c')
println(nullArray.orEmpty().contentToString()) // []
+
 
}
+
     println(array1.orEmpty().contentToString()) // []
</syntaxhighlight>
+
    println(array2.orEmpty().contentToString()) // [a, b, c]
===استخدام الدالة <code>()orEmpty</code> مع المصفوفات===
 
تعرف الشيفرة الآتية  <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ثلاثة حروف باستخدام الدالة <code>()arrayOf</code>، ثم تستدعي الدالة <code>()orEmpty</code> عبر <code>array</code> ، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
val array: Array<Char>? = arrayOf('a', 'b', 'c')
 
      
 
println(array.orEmpty().contentToString()) // [a, b, c]
 
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
==انظر أيضًا==
== أنظر أيضًا ==
+
*الدالة <code>[[Kotlin/collections/none|none()]]</code>‎:تتحقق إن كانت [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو الخريطة التي استدعيت معها فارغةً، أو إن لم يكن هنالك أي عنصر من تلك العناصر محقِّقًا لشرط معين.
* <code>[[Kotlin/collections/none|none()]]</code>‎: تعيد القيمة <code>true</code> إن كانت [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها فارغة، أو تعيد <code>false</code>. وفي حال تمرير  شرط منطقي <code>predicate</code>. فستعيد <code>true</code> إن لم يكن هناك  أي عنصر يحقق ذلك الشرط المنطقي،  أو تعيد <code>false</code>.
+
* الدالة <code>[[Kotlin/collections/isNotEmpty|isNotEmpty()]]‎</code>: تعيد القيمة <code>true</code> إن كانت <nowiki/>[[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها غير فارغةً.
 
+
* الدالة <code>[[Kotlin/jvm/isArrayOf|isArrayOf()‎]]</code>: تتحقق من حواية <nowiki/>[[Kotlin/Array|المصفوفة]] التي استُدعيت معها عناصرَ من نوعٍ محدَّد.
== مصادر ==
+
* الخاصية <code>[[Kotlin/Array/size|‎‎Array.size]]</code>: تعبِّر عن عدد العناصر الموجودة في المصفوفة.
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/or-empty.html الدالة  orEmpty()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
==مصادر==
 +
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/or-empty.html صفحة الدالة orEmpty()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]

مراجعة 16:43، 25 يوليو 2018

تعيد الدالة orEmpty()‎ المصفوفة أو المجموعة أو القائمة أو الخريطة التي استُدعيت معها إن لم تكن مساويةً للقيمة null، أو تعيد كائنًا فارغًا يقابل الكائن المعطى (مصفوفة فارغة، أو مجموعة فارغة ...إلخ.) خلاف ذلك.

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

يمكن استدعاء الدالة orEmpty()‎ مع المصفوفات والمجموعات والقوائم والخرائط والمجموعات التي من النوع Set:

inline fun <reified T> Array<out T>?.orEmpty(): Array<out T> 

inline fun <T> Collection<T>?.orEmpty(): Collection<T> 

inline fun <T> List<T>?.orEmpty(): List<T> 

inline fun <K, V> Map<K, V>?.orEmpty(): Map<K, V> (source)

inline fun <K, V> Map<K, V>?.orEmpty(): Map<K, V> (source)

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

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

تُعاد المصفوفة أو المجموعة أو القائمة أو الخريطة المعطاة إن لم تكن مساويةً للقيمة null، أو يُعاد كائن فارغ يقابل الكائن المعطى (مصفوفة فارغة، أو مجموعة فارغة ...إلخ.) خلاف ذلك.

أمثلة

التأكد من عدم تساوي المصفوفة مع القيمة null:

fun main(args: Array<String>) {
    val array1: Array<Any>? = null
    val array2: Array<Char>? = arrayOf('a', 'b', 'c')

    println(array1.orEmpty().contentToString()) // []
    println(array2.orEmpty().contentToString()) // [a, b, c]
}

انظر أيضًا

  • الدالة none()‎:تتحقق إن كانت المصفوفة أو المجموعة أو الخريطة التي استدعيت معها فارغةً، أو إن لم يكن هنالك أي عنصر من تلك العناصر محقِّقًا لشرط معين.
  • الدالة isNotEmpty(): تعيد القيمة true إن كانت المصفوفة التي استُدعيت عبرها غير فارغةً.
  • الدالة isArrayOf()‎: تتحقق من حواية المصفوفة التي استُدعيت معها عناصرَ من نوعٍ محدَّد.
  • الخاصية ‎‎Array.size: تعبِّر عن عدد العناصر الموجودة في المصفوفة.

مصادر