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

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

مراجعة 15:09، 31 مايو 2018

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

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

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

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

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

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

يمكن استدعاء الدالة orEmpty()‎ عبر اللوائح:

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

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

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

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

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

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

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

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

أمثلة

استخدام الدالة ()orEmpty مع المصفوفات

تعرف الشيفرة الآتية  عنصرًا من النوع Array<Any>?‎ باسم nullArray، وتعطيه القيمة null، ثم تستدعي الدالة ()orEmpty  عبر nullArray، ثم تطبع الناتج:

fun main(args: Array<String>) {
val nullArray: Array<Any>? = null
    
println(nullArray.orEmpty().contentToString()) // []
}

استخدام الدالة ()orEmpty مع المصفوفات

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

fun main(args: Array<String>) {
val array: Array<Char>? = arrayOf('a', 'b', 'c')
    
println(array.orEmpty().contentToString()) // [a, b, c]
}

أنظر أيضًا

  • none()‎: تعيد القيمة true إن كانت المصفوفة أو المجموعة التي استُدعيت عبرها فارغة، أو تعيد false. وفي حال تمرير شرط منطقي predicate. فستعيد true إن لم يكن هناك أي عنصر يحقق ذلك الشرط المنطقي، أو تعيد false.

مصادر