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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>filterNotNullTo()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>filterNotNullTo()‎</code> في Kotlin}}</noinclude>
تضيف الدالة<code>filterNotNullTo()‎</code> إلى المعامل <code>destination</code> الممرّر إليها عناصرّ  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والتي تخالف قيمتها القيمة <code>null</code>. من الجدير بالذكر أنّ <code>destination</code> ينبغي أن تكون مجموعة قابلة للتغيير (<code>MutableCollection</code>).
+
تشبه الدالة <code>filterNotNullTo()‎</code> الدالة <code>[[Kotlin/collections/filterNotNull|filterNotNull()]]</code> في جميع النواحي باستثناء أنَّها تضيف الناتج الذي تعيده إلى المعامل المُمرَّر إليها. الجدير بالذكر أنّه ينبغي أن يكون ذلك المعامل المعطى مجموعةً قابلةً للتغيير (MutableCollection).
 
 
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
سطر 11: سطر 10:
 
): C  
 
): C  
 
</syntaxhighlight>
 
</syntaxhighlight>
== القيم المٌعادة ==
+
==القيم المٌعادة==
[[Kotlin/collections|المجموعة]] المتغيرة (<code>MutableCollection</code>) المُمرّرة إلى الدالة <code>filterNotNullTo()‎</code> بعد إضافةعناصرّ  [[Kotlin/collections|المجموعة]] المتغيرة (<code>MutableCollection</code>) التي استُدعيت عبرها والتي تخالف قيمتها القيمة <code>null</code>.
+
تُعاد [[Kotlin/collections|المجموعة]] المتغيرة (MutableCollection) الممرَّرة بعد إضافة جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة إليها باستثناء تلك ذات القيمة <code>null</code>.
 
 
 
==أمثلة==
 
==أمثلة==
===استخدام الدالة <code>()filterNotNullTo</code> مع اللوائح المتغيرة===
+
تعرف الشيفرة الآتية [[Kotlin/collections/List|قائمتين]] متغيرتين (mutableList) باسم <code>list1</code> و <code>list2</code> باستخدام الدالة <code>()mutableListOf</code>، ثم تستخدم الدالة <code>()filterNotNullTo</code> لاستبعاد العناصر ذات القيمة <code>null</code> من المصفوفة الأولى وإضافة الناتج إلى القائمة الثانية:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية [[Kotlin/collections/List|لائحتين]] متغيرتين (<code>mutableList</code>) باسم <code>list</code> و <code>list2</code> باستخدام الدالة <code>()mutableListOf</code>، الأولى مكونة من ستة عناصر والثانية تضم عددًا واحدًا (<code>0</code>)، ثم تستخدم الدالة <code>()filterNotNullTo</code> لتصفية عناصر  [[Kotlin/Array|اللائحة]] <code>list</code> التي تساوي <code>null</code>، وتضيف تلك العناصر إلى <code>list2</code>ثم تعرضها:<syntaxhighlight lang="kotlin">
 
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val list = mutableListOf(1, 2, 3, null, 5, 1)
+
    val list1 = mutableListOf(1, 2, 3, null, 5, 1)
val list2 = mutableListOf(0)
+
    val list2 = mutableListOf(0)
  
list.filterNotNullTo(list2)
+
    list.filterNotNullTo(list2)
  
println(list2)// [0, 1, 2, 3, 5]
+
    println(list2)// [0, 1, 2, 3, 5, 1]
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
*<code>[[Kotlin/collections/filter|filter()]]</code>: تعيد  <nowiki/>[[Kotlin/Array|لائحة]] تحتوي عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي تحقق الشرط المنطقي <code>predicate()‎</code> المُمرّر إلى الدالة. وفي حال استدعائها عبرقاموس فستعيد قاموسًا جديدًا مكونًا من كل الأزوج التي تحقق الشرط المنطقي <code>predicate()‎</code> الممرر إلى الدالة.
+
*الدالة <code>[[Kotlin/collections/filterNotNull|filterNotNull()]]</code>: تعيد جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة باستثناء تلك ذات القيمة <code>null</code>.
 
+
*الدالة <code>[[Kotlin/collections/filterNot|filterNot()]]</code>‎: تعيد قائمةً تحوي عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي لا تحقق شرطًا منطقيًّا محدَّدًا. إن استدعيت مع خريطة (map)، فستعيد خريطة جديدة تحوي الأزواج التي لم تحقق ذلك الشرط المنطقي.
* <code>[[Kotlin/collections/filterIndexed|filterIndexed()]]</code>‎: تعيد <nowiki/>[[Kotlin/Array|لائحة]] تحتوي عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي تحقق الشرط المنطقي <code>predicate()‎</code> المُمرّر إلى الدالة والتي تأخذ قيمة وفهرس عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] كوسيطين.
+
*الدالة <code>[[Kotlin/collections/filterNotTo|filterNotTo()]]</code>: تشبه الدالة <code>[[Kotlin/collections/filterNot|filterNot()]]</code>‎ في جميع النواحي باستثناء أنَّها تضيف الناتج المعاد إلى المعامل الممرَّر إليها.
 
+
*الدالة <code>[[Kotlin/collections/filter|filter()]]</code>‎: ترشِّح عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.
* <code>[[Kotlin/collections/filterNot|filterNot()]]</code>: تعيد <nowiki/>[[Kotlin/Array|لائحة]] تحتوي عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي لا تحقق الشرط المنطقي <code>predicate()</code> المُمرّر إلى الدالة. وفي حال استدعائها عبر قاموس فستعيد قاموسًا جديدًا مكونًا من كل الأزوج التي لا تحقق الشرط المنطقي <code>predicate()‎</code> الممرر إلى الدالة.
 
* <code>[[Kotlin/collections/filterIsInstance|filterIsInstance()]]</code>‎: تعيد لائحة تحتوي عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والتي هي نسخة (instance) من نوع (type) أو<nowiki/>[[Kotlin/classes|صنفٍ]] معيّن.
 
* <code>[[Kotlin/collections/filterIndexedTo|filterIndexedTo()]]</code>‎: تضيف  إلى المعامل <code>destination</code> الممرّر إليها عناصرّ <nowiki/>[[Kotlin/collections|المجموعة]] المتغيرة (<code>MutableCollection</code>) التي استُدعيت عبرها والتي تحقق الشرط المنطقي <code>predicate()‎</code> المُمرّر إلى الدالة.
 
  
 +
*الدالة <code>[[Kotlin/collections/filterIndexedTo|filterIndexedTo()]]</code>‎: تضيف إلى المجموعة المتغيرة <code>destination</code> المُمرَّر إليها عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] المعطاة التي أعيدت القيمة <code>true</code> مع كل عنصر منها عند تطبيق الدالة <code>predicate()‎</code> المُمرّر عليها. يمرَّر فهرس كل عنصر وقيمته إلى الدالة <code>predicate()‎</code> ثم تعيد بدورها قيمة منطقيَّة.
 +
*الدالة <code>[[Kotlin/collections/filterIsInstanceTo|filterIsInstanceTo()‎]]</code>: تضيف عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] المعطاة التي هي نسخةٌ (instance) من نوع أو <nowiki/>[[Kotlin/classes|صنفٍ]] معيّن إلى المجموعة المتغيرة <code>destination</code>المُمرّرة إليها.
 
==مصادر==
 
==مصادر==
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/filter-not-null-to.html الدالة  filterNotNullTo()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/filter-not-null-to.html الدالة filterNotNullTo()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Functions]]
 
[[تصنيف:Kotlin Functions]]

مراجعة 17:14، 22 يوليو 2018

تشبه الدالة filterNotNullTo()‎ الدالة filterNotNull() في جميع النواحي باستثناء أنَّها تضيف الناتج الذي تعيده إلى المعامل المُمرَّر إليها. الجدير بالذكر أنّه ينبغي أن يكون ذلك المعامل المعطى مجموعةً قابلةً للتغيير (MutableCollection).

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

fun <C : MutableCollection<in T>, T : Any> Array<out T?>.filterNotNullTo(
    destination: C
): C 
fun <C : MutableCollection<in T>, T : Any> Iterable<T?>.filterNotNullTo(
    destination: C
): C

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

تُعاد المجموعة المتغيرة (MutableCollection) الممرَّرة بعد إضافة جميع عناصر المصفوفة أو المجموعة المعطاة إليها باستثناء تلك ذات القيمة null.

أمثلة

تعرف الشيفرة الآتية قائمتين متغيرتين (mutableList) باسم list1 و list2 باستخدام الدالة ()mutableListOf، ثم تستخدم الدالة ()filterNotNullTo لاستبعاد العناصر ذات القيمة null من المصفوفة الأولى وإضافة الناتج إلى القائمة الثانية:

fun main(args: Array<String>) {
    val list1 = mutableListOf(1, 2, 3, null, 5, 1)
    val list2 = mutableListOf(0)

    list.filterNotNullTo(list2)

    println(list2)// [0, 1, 2, 3, 5, 1]
}

انظر أيضًا

  • الدالة filterNotNull()‎: تعيد جميع عناصر المصفوفة أو المجموعة المعطاة باستثناء تلك ذات القيمة null.
  • الدالة filterNot()‎: تعيد قائمةً تحوي عناصر المصفوفة أو المجموعة التي لا تحقق شرطًا منطقيًّا محدَّدًا. إن استدعيت مع خريطة (map)، فستعيد خريطة جديدة تحوي الأزواج التي لم تحقق ذلك الشرط المنطقي.
  • الدالة filterNotTo()‎: تشبه الدالة filterNot()‎ في جميع النواحي باستثناء أنَّها تضيف الناتج المعاد إلى المعامل الممرَّر إليها.
  • الدالة filter()‎: ترشِّح عناصر المصفوفة أو المجموعة أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.
  • الدالة filterIndexedTo()‎: تضيف إلى المجموعة المتغيرة destination المُمرَّر إليها عناصر المصفوفة أو المجموعة المعطاة التي أعيدت القيمة true مع كل عنصر منها عند تطبيق الدالة predicate()‎ المُمرّر عليها. يمرَّر فهرس كل عنصر وقيمته إلى الدالة predicate()‎ ثم تعيد بدورها قيمة منطقيَّة.
  • الدالة filterIsInstanceTo()‎: تضيف عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن إلى المجموعة المتغيرة destinationالمُمرّرة إليها.

مصادر