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

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

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

تتحقَّق الدالة none()‎ إن كانت المصفوفة أو المجموعة أو الخريطة التي استدعيت معها فارغةً، أو إن لم يكن هنالك أي عنصر من تلك العناصر محقِّقًا لشرط معين.

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

يمكن استدعاء الدالة none()‎ مع المصفوفات والمجموعات والخرائط دون تمرير أية معامل إليها:

fun <T> Array<out T>.none(): Boolean 
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

fun <T> Iterable<T>.none(): Boolean (source)

fun <K, V> Map<out K, V>.none(): Boolean (source)

ويمكن تمرير الدالة predicate التي تمثل شرطًا معيَّنًا إلى الدالة none()‎ مع المصفوفات والخرائط:

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 

inline fun <K, V> Map<out K, V>.none(
    predicate: (Entry<K, V>) -> Boolean
): Boolean (source)

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

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

تُعاد القيمة true إن كانت المصفوفة أو المجموعة أو الخريطة المعطاة فارغةً أو لم يكن هنالك أي عنصر من تلك العناصر متطابقًا مع الدالة ()predicate (إن أعطيت). خلا ذلك، تُعاد القيمة false.

أمثلة

استخدام الدالة ()none مع القوائم

استعمال الدالة ()none للتحقق من أنّ قائمةً ما فارغةٌ أم لا:

fun main(args: Array<String>) {
    val emptyList = emptyList<Int>()

    println(emptyList.none()) // true
}

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

استعمال الدالة ()none عدم وجود أي عنصر في المصفوفة أصغر من 5:

fun main(args: Array<String>) {
    val array = arrayOf(3, 7, 9)

    println(array.none { it < 5 }) // false
}

انظر أيضًا

  • الدالة orempty()‎: تعيد المصفوفة أو المجموعة أو القائمة أو الخريطة التي استُدعيت معها إن لم تكن مساويةً للقيمة null، أو تعيد كائنًا فارغًا يقابل الكائن المعطى (مصفوفة فارغة، أو مجموعة فارغة ...إلخ.) خلاف ذلك.
  • الدالة isEmpty()‎: تتحقق إن كانت المصفوفة التي استُدعيت معها فارغةً أم لا.
  • الدالة isArrayOf()‎: تتحقق من حواية المصفوفة التي استُدعيت معها عناصرَ من نوعٍ محدَّد.
  • الدالة all()‎: تتحقق إن كانت كافّة عناصر المصفوفة أو المجموعة (collection) التي استُدعيت معها تطابق شرطًا محدَّدًا.

مصادر