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

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

مراجعة 14:50، 31 مايو 2018

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

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

يمكن استدعاء الدالة 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

يمكن تمرير شرط منطقي predicate كوسيط:

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

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

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

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

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

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

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

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

أمثلة

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

تعرف الشيفرة الآتية لائحة فارغة باسم emptyList باستخدام الدالة ()emptyList<Int>‎ ، ثم تستخدم الدالة ()none للتحقق من أنّ اللائحة emptyList فارغة، ثم تطبع الناتج:

fun main(args: Array<String>) {
val emptyList = emptyList<Int>() // تعريف لائحة فارغة
    
println(emptyList.none()) // true
}

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

تعرف الشيفرة الآتية  مصفوفة باسم arrayمكونة من ثلاثة أعداد باستخدام الدالة ()arrayOf، ثم تستدعي الدالة ()none عبر array مع تمرير دالة منطقية تحدد ما إذا كان العدد المُمرّر إليها أصغر من 5 ، ثم تطبع الناتج:

fun main(args: Array<String>) {
val array = arrayOf(3, 7, 9) 
    
println(array.none { it < 5 }) // false
}

أنظر أيضًا

مصادر