الفرق بين المراجعتين لصفحة: «Kotlin/collections/requireNoNulls»

من موسوعة حسوب
لا ملخص تعديل
ط مراجعة وتدقيق.
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>requireNoNulls()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>requireNoNulls()‎</code> في Kotlin}}</noinclude>
تُعيد الدالة<code>requireNoNulls()‎</code> [[Kotlin/Array|مصفوفة]] أو [[Kotlin/collections|مجموعة]] أو [[Kotlin/List|لائحة]] تضم جميع العناصر غير المعدومة (non-<code>null</code>) في  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/List|اللائحة]] التي استُدعيت عبرها. في حال كان هناك عنصر معدوم (<code>null</code>) فستطلق  الدالةُ<code>requireNoNulls()‎</code> الاستثناء <code>IllegalArgumentException</code>.  
تعيد الدالة <code>requireNoNulls()‎</code> العناصر غير المعدومة (non-null) من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/List|القائمة]] التي استُدعيت معها أو ترمي استثناءً إن وجد عنصر معدوم (null).  
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
سطر 7: سطر 7:
fun <T : Any> List<T?>.requireNoNulls(): List<T>  
fun <T : Any> List<T?>.requireNoNulls(): List<T>  
</syntaxhighlight>
</syntaxhighlight>
==القيم المٌعادة==
==القيم المعادة==
[[Kotlin/Array|مصفوفة]] أو [[Kotlin/collections|مجموعة]]  أو [[Kotlin/List|لائحة]] تضم جميع العناصر غير المعدومة (non-<code>null</code>) في  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/List|اللائحة]] التي استُدعيت عبرها.  
تعاد المصفوفة أو المجموعة أو القائمة المعطاة نفسها إن لم يكن فيها أي عنصر معدوم أو يرمى الاستثناء <code>IllegalArgumentException</code> إن وجد أي عنصر معدوم.  


== أمثلة ==
== أمثلة ==
<nowiki/><nowiki/>استعمال الدالة <code>()requireNoNulls</code> مع قائمة لا تحتوي على أي عنصر معدوم:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
    var list = List<Int?>(6) { it }


===استخدام الدالة <code>()requireNoNulls</code> مع المصفوفات===
     print(list.requireNoNulls()) // [0, 1, 2, 3, 4, 5]
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/List|لائحة]]<nowiki/> باسم <code>list</code> مكونة من ستة أعداد باستخدام الدالة <code>()List<Int?>‎</code>، ثم تستخدم الدالة <code>()requireNoNulls</code> على <code>list</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
var list = List<Int?>(6, { it } )
      
print(list.requireNoNulls()) // [0, 1, 2, 3, 4, 5]
}
}
</syntaxhighlight>
</syntaxhighlight>
===استخدام الدالة <code>()requireNoNulls</code> مع المصفوفات: الحالة الثانية===
<nowiki/>استعمال الدالة <code>()requireNoNulls</code> مع قائمة تحتوي على عنصر معدوم:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/List|لائحة]] باسم <code>list</code> مكونة من ستة أعداد باستخدام الدالة <code>()List<Int?>‎</code>، ثم تستخدم الدالة <code>()requireNoNulls</code> على <code>list</code>، ولما كانت<code>list</code> تضم عنصرًا يساوي <code>null</code> فستطلق استثناءً، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
var list = List<Int?>(6, { if (it < 5) it else null } ) // [0, 1, 2, 3, 4, null]
    var list = List(6) { if (it < 5) it else null } // [0, 1, 2, 3, 4, null]
      
 
print(list.requireNoNulls()) // إطلاق استثناء
     print(list.requireNoNulls())
}
}
</syntaxhighlight>نتيجة تنفيذ المثال السابق هي:<syntaxhighlight lang="text">
Exception in thread "main" java.lang.IllegalArgumentException: null element found in [0, 1, 2, 3, 4, null].
at kotlin.collections.CollectionsKt___CollectionsKt.requireNoNulls(_Collections.kt:1806)
at TestKt.main(test.kt:4)
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* <code>[[Kotlin/collections/reduce|reduce()]]</code>‎: تُراكِم القيم بدءًا من العنصر الأول وتطبّق العملية <code>operation</code> من اليسار إلى اليمين على القيمة المُتراكمة الراهنة وعلى العنصر التالي وفهرسه.
* الدالة <code>[[Kotlin/collections/none|none()]]</code>‎: تتحقق إن كانت <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو الخريطة التي استدعيت معها فارغةً، أو إن لم يكن هنالك أي عنصر من تلك العناصر محقِّقًا لشرط معين.


==مصادر==
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/require-no-nulls.html الدالة  requireNoNulls()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/require-no-nulls.html صفحة الدالة requireNoNulls()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Functions]]

مراجعة 13:58، 7 أغسطس 2018

تعيد الدالة requireNoNulls()‎ العناصر غير المعدومة (non-null) من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها أو ترمي استثناءً إن وجد عنصر معدوم (null).

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

fun <T : Any> Array<T?>.requireNoNulls(): Array<T> 
fun <T : Any> Iterable<T?>.requireNoNulls(): Iterable<T> 
fun <T : Any> List<T?>.requireNoNulls(): List<T>

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

تعاد المصفوفة أو المجموعة أو القائمة المعطاة نفسها إن لم يكن فيها أي عنصر معدوم أو يرمى الاستثناء IllegalArgumentException إن وجد أي عنصر معدوم.

أمثلة

استعمال الدالة ()requireNoNulls مع قائمة لا تحتوي على أي عنصر معدوم:

fun main(args: Array<String>) {
    var list = List<Int?>(6) { it }

    print(list.requireNoNulls()) // [0, 1, 2, 3, 4, 5]
}

استعمال الدالة ()requireNoNulls مع قائمة تحتوي على عنصر معدوم:

fun main(args: Array<String>) {
    var list = List(6) { if (it < 5) it else null } // [0, 1, 2, 3, 4, null]

    print(list.requireNoNulls())
}

نتيجة تنفيذ المثال السابق هي:

Exception in thread "main" java.lang.IllegalArgumentException: null element found in [0, 1, 2, 3, 4, null].
	at kotlin.collections.CollectionsKt___CollectionsKt.requireNoNulls(_Collections.kt:1806)
	at TestKt.main(test.kt:4)

انظر أيضًا

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

مصادر