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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
ط (تدقيق الأمثلة.)
سطر 20: سطر 20:
 
تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code> باستخدام الدالة <code>()arrayOf</code> ثمَّ تستخدم الدالة <code>()filterIsInstance</code> لترشيح العناصر التي من النوع "سلسلة نصية" فقط:<syntaxhighlight lang="kotlin">
 
تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code> باستخدام الدالة <code>()arrayOf</code> ثمَّ تستخدم الدالة <code>()filterIsInstance</code> لترشيح العناصر التي من النوع "سلسلة نصية" فقط:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val array = arrayOf("hsoub", 5,"mostaql","kotlin",3)
+
    val array = arrayOf("hsoub", 5, "mostaql", "khamsat", 3)
      
+
 
println(array.filterIsInstance<String>())// [hsoub, mostaql, kotlin]
+
     println(array.filterIsInstance<String>()) // [hsoub, mostaql, khamsat]
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>

مراجعة 10:40، 5 يوليو 2018

تعيد الدالة filterIsInstance()‎ قائمة تحوي عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن.

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

inline fun <reified R> Array<*>.filterIsInstance(): List<R> 
inline fun <reified R> Iterable<*>.filterIsInstance(): List<R>

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

fun <R> Array<*>.filterIsInstance(klass: Class<R>): List<R> 
fun <R> Iterable<*>.filterIsInstance(klass: Class<R>): List<R>

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

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

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

تُعاد قائمة تحوي عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن.

أمثلة

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

تعرِّف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf ثمَّ تستخدم الدالة ()filterIsInstance لترشيح العناصر التي من النوع "سلسلة نصية" فقط:

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

    println(array.filterIsInstance<String>()) // [hsoub, mostaql, khamsat]
}

انظر أيضًا

مصادر