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

من موسوعة حسوب
سطر 34: سطر 34:
     array.filterIsInstanceTo(list)
     array.filterIsInstanceTo(list)


     println(list)// [0, 5, 3]   
     println(list) // [0, 5, 3]   
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* الدالة <code>[[Kotlin/collections/filterIsInstance|filterIsInstance()]]</code>‎: تعيد [[Kotlin/List|قائمة]] تحوي عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة التي هي نسخةٌ (instance) من نوع أو [[Kotlin/classes|صنفٍ]] معيّن.
* الدالة <code>[[Kotlin/collections/filterIsInstance|filterIsInstance()]]</code>‎: تعيد [[Kotlin/List|قائمة]] تحوي عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة التي هي نسخةٌ (instance) من نوع أو [[Kotlin/classes|صنفٍ]] معيّن.

مراجعة 12:36، 19 أغسطس 2018

تضيف الدالة filterIsInstanceTo()‎ عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن إلى المجموعة المتغيرة destination المُمرّرة إليها.

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

inline fun <reified R, C : MutableCollection<in R>> Array<*>.filterIsInstanceTo(
    destination: C
): C 
inline fun <reified R, C : MutableCollection<in R>> Iterable<*>.filterIsInstanceTo(
    destination: C
): C

يمكن تمرير معامل klass إلى الدالة filterIsInstanceTo()‎:

fun <C : MutableCollection<in R>, R> Array<*>.filterIsInstanceTo(
    destination: C, 
    klass: Class<R>
): C
fun <C : MutableCollection<in R>, R> Iterable<*>.filterIsInstanceTo(
    destination: C, 
    klass: Class<R>
):

بيئة التشغيل المطلوبة: JVM

وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (لمزيد من التفاصيل، راجع توثيق الدوال المباشرة)، واستخدام الكلمة المفتاحية reified يسمح بالوصول إلى نوعٍ مُمرَّر كمتحولٍ وسيطٍ (parameter، راجع توثيق reified للمزيد من التفاصيل).

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

تُعاد عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن والمضافة إلى المعامل destination.

أمثلة

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

تعرِّف الشيفرة الآتية مصفوفة باستخدام الدالة ()arrayOf وقائمة متغيرة باستخدام الدالة ()mutableListOf ثم تستخدم الدالة ()filterIsInstanceTo لترشيح عناصر المصفوفة وإضافتها إلى القائمة المتغيرة:

fun main(args: Array<String>) {
    val array = arrayOf("hsoub", 5, "mostaql", "khamsat", 3)
    val list = mutableListOf(0)
    array.filterIsInstanceTo(list)

    println(list) // [0, 5, 3]   
}

انظر أيضًا

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

مصادر