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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>orEmpty()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>orEmpty()‎</code> القيمة <code>true...')
 
ط
 
(5 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>orEmpty()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>orEmpty()‎</code> في Kotlin}}</noinclude>
تعيد الدالة<code>orEmpty()‎</code> القيمة <code>true</code> إن كانت [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها فارغة، أو تعيد <code>false</code>. وفي حال تمرير  شرط منطقي <code>predicate</code>. فستعيد <code>true</code> إن لم يكن هناك  أي عنصر يحقق ذلك الشرط المنطقي،  أو تعيد <code>false</code>.
+
<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">
fun <T> Array<out T>.none(): Boolean
+
inline fun <reified T> Array<out T>?.orEmpty(): Array<out T>  
fun ByteArray.none(): Boolean
 
fun ShortArray.none(): Boolean
 
fun IntArray.none(): Boolean
 
fun LongArray.none(): Boolean
 
fun FloatArray.none(): Boolean
 
fun DoubleArray.none(): Boolean
 
fun BooleanArray.none(): Boolean
 
fun CharArray.none(): Boolean
 
</syntaxhighlight>يمكن تمرير شرط منطقي <code>predicate</code> كوسيط:
 
<syntaxhighlight lang="kotlin">
 
inline fun <T> Array<out T>.none(
 
    predicate: (T) -> Boolean
 
): Boolean
 
inline fun ByteArray.none(
 
    predicate: (Byte) -> Boolean
 
): Boolean
 
inline fun ShortArray.none(
 
    predicate: (Short) -> Boolean
 
): Boolean
 
inline fun IntArray.none(
 
    predicate: (Int) -> Boolean
 
): Boolean
 
inline fun LongArray.none(
 
    predicate: (Long) -> Boolean
 
): Boolean
 
inline fun FloatArray.none(
 
    predicate: (Float) -> Boolean
 
): Boolean
 
inline fun DoubleArray.none(
 
    predicate: (Double) -> Boolean
 
): Boolean
 
inline fun BooleanArray.none(
 
    predicate: (Boolean) -> Boolean
 
): Boolean
 
inline fun CharArray.none(
 
    predicate: (Char) -> Boolean
 
): Boolean
 
inline fun <T> Iterable<T>.none(
 
    predicate: (T) -> Boolean
 
): Boolean
 
  
</syntaxhighlight>يمكن استدعاء الدالة <code>orEmpty()‎</code> عبر  '''[[Kotlin/collections|المجموعات]]:'''
+
inline fun <T> Collection<T>?.orEmpty(): Collection<T>  
<syntaxhighlight lang="kotlin">
 
fun <T> Iterable<T>.none(): Boolean
 
  
</syntaxhighlight>يمكن استدعاء الدالة <code>none()</code> عبر  '''[[Kotlin/Map|القواميس]]:'''<syntaxhighlight lang="kotlin">
+
inline fun <T> List<T>?.orEmpty(): List<T>
inline fun <K, V> Map<out K, V>.none(
+
 
    predicate: (Entry<K, V>) -> Boolean
+
inline fun <K, V> Map<K, V>?.orEmpty(): Map<K, V> (source)
): Boolean
+
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
+
inline fun <K, V> Map<K, V>?.orEmpty(): Map<K, V> (source)
==القيم المٌعادة==
+
 
<code>true</code> إن كانت [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها فارغة، أو تعيد <code>false</code>. وفي حال تمرير  شرط منطقي <code>predicate</code>. فستعيد <code>true</code> إن لم يكن هناك  أي عنصر يحقق ذلك الشرط المنطقي، أو تعيد <code>false</code>.
+
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة [[Kotlin/inline functions|الدوال المباشرة (inline functions)]]).
 +
==القيم المعادة==
 +
تُعاد المصفوفة أو المجموعة أو القائمة أو الخريطة المعطاة إن لم تكن مساويةً للقيمة <code>null</code>، أو يُعاد كائن فارغ يقابل الكائن المعطى (مصفوفة فارغة، أو مجموعة فارغة ...إلخ.) خلاف ذلك.
 
==أمثلة==
 
==أمثلة==
===استخدام الدالة <code>()orEmpty</code> مع اللوائح===
+
التأكد من عدم تساوي المصفوفة مع القيمة <code>null</code>:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية [[Kotlin/List|لائحة]] فارغة<nowiki/> باسم <code>emptyList</code> باستخدام الدالة <code>()emptyList<Int>‎</code> ، ثم تستخدم الدالة <code>()orEmpty</code> للتحقق من أنّ [[Kotlin/List|اللائحة]] <code>emptyList</code> فارغة، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val emptyList = emptyList<Int>() // تعريف لائحة فارغة
+
    val array1: Array<Any>? = null
      
+
    val array2: Array<Char>? = arrayOf('a', 'b', 'c')
println(emptyList.none()) // true
+
 
}
+
     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>  مع تمرير دالة منطقية تحدد ما إذا كان العدد المُمرّر إليها أصغر من <code>5</code> ، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
val array = arrayOf(3, 7, 9)  
 
   
 
println(array.none { it < 5 }) // false
 
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
==انظر أيضًا==
 +
*الدالة <code>[[Kotlin/collections/none|none()]]</code>‎: تتحقق إن كانت [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو الخريطة التي استدعيت معها فارغةً، أو إن لم يكن هنالك أي عنصر من تلك العناصر محقِّقًا لشرط معين.
 +
* الدالة <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>: تعبِّر عن عدد العناصر الموجودة في المصفوفة.
  
== أنظر أيضًا ==
+
==مصادر==
* <code>[[Kotlin/collections/orEmpty|or-empty()]]</code>‎: تعيد  <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو [[Kotlin/Map|القاموس]] الذي استُدعيت عبره إن لم يكن يساوي <code>null</code> أو تعيد  [[Kotlin/Array|مصفوفة]] أو <nowiki/>[[Kotlin/collections|مجموعة]] أو [[Kotlin/Map|قاموسًا]] فارغًا.
+
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/or-empty.html صفحة الدالة orEmpty()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
+
[[تصنيف:Kotlin]]
== مصادر ==
+
[[تصنيف:Kotlin Function]]
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/none.html الدالة  orEmpty()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
[[تصنيف:Kotlin Collection]]

المراجعة الحالية بتاريخ 09:29، 8 سبتمبر 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: تعبِّر عن عدد العناصر الموجودة في المصفوفة.

مصادر