الفرق بين المراجعتين لصفحة: «Kotlin/collections/filterIsInstanceTo»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>filterIsInstanceTo()</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>filterIsInstanceTo()</code> [...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>filterIsInstanceTo()</code> في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة <code>filterIsInstanceTo()</code> في لغة Kotlin}}</noinclude> | ||
تضيف الدالة<code>filterIsInstanceTo()</code> عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها و التي هي نسخة (instance) من نوع (type) أو [[Kotlin/classes|صنفٍ]] معيّن إلى [[Kotlin/collections|المجموعة]] المتغيرة <code>destination</code> المُمرّرة إليها. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
inline fun <reified R> Array<*>. | inline fun <reified R, C : MutableCollection<in R>> Array<*>.filterIsInstanceTo( | ||
inline fun <reified R> Iterable<*>. | destination: C | ||
</syntaxhighlight>يمكن تمرير معامل <code>klass</code> إلى الدالة <code> | ): C | ||
inline fun <reified R, C : MutableCollection<in R>> Iterable<*>.filterIsInstanceTo( | |||
destination: C | |||
): C | |||
</syntaxhighlight>يمكن تمرير معامل <code>klass</code> إلى الدالة <code>filterIsInstanceTo():</code> | |||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
fun <R> Array<*>. | 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> | |||
): | |||
</syntaxhighlight>'''<u>بيئة التشغيل المطلوبة: JVM</u>''' | </syntaxhighlight>'''<u>بيئة التشغيل المطلوبة: JVM</u>''' | ||
سطر 20: | سطر 30: | ||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>()filterIsInstanceTo</code> مع المصفوفات=== | ===استخدام الدالة <code>()filterIsInstanceTo</code> مع المصفوفات=== | ||
تعرف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من أعداد وسلاسل نصية باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()filterIsInstanceTo</code> لتصفية عناصر [[Kotlin/Array|المصفوفة]] <code>array</code> وانشاء [[Kotlin/collections/List|لائحة]] جديدة تضم | تعرف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من أعداد وسلاسل نصية باستخدام الدالة <code>()arrayOf</code>، ثم تعرف [[Kotlin/collections/List|لائحة]] متغيرة (<code>mutableList</code>) تضم عددًا واحدًا (<code>0</code>)باسم <code>list</code> باستخدام الدالة <code>()mutableListOf</code>، ثم تستخدم الدالة <code>()filterIsInstanceTo</code> لتصفية عناصر [[Kotlin/Array|المصفوفة]] <code>array</code> وانشاء [[Kotlin/collections/List|لائحة]] جديدة تضم الأعداد فقط، ثم تطبع [[Kotlin/collections/List|اللائحة]]:<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","kotlin",3) | ||
val list = mutableListOf(0) | |||
array.filterIsInstanceTo(list) | |||
println(list)// [0, 5, 3] | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
سطر 31: | سطر 43: | ||
* <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/filterIndexed|filterIndexed()]]</code>: تعيد <nowiki/>[[Kotlin/Array|لائحة]] تحتوي عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي تحقق الشرط المنطقي <code>predicate()</code> المُمرّر إلى الدالة والتي تأخذ قيمة وفهرس عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] كوسيطين. | ||
* <code>[[Kotlin/collections/filterIsInstance|filterIsInstance()]]</code>: تعيد لائحة تحتوي عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والتي هي نسخة (instance) من نوع (type) أو<nowiki/>[[Kotlin/classes|صنفٍ]] معيّن. | |||
==مصادر== | ==مصادر== | ||
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/filter-is-instance.html الدالة filterIsInstanceTo() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | * [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/filter-is-instance-to.html الدالة filterIsInstanceTo() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 14:41، 15 مايو 2018
تضيف الدالةfilterIsInstanceTo()
عناصر المصفوفة أو المجموعة التي استُدعيت عبرها و التي هي نسخة (instance) من نوع (type) أو صنفٍ معيّن إلى المجموعة المتغيرة 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
للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).
يلاحظ أيضًا استخدام الكلمة المفتاحية reified
للتمكّن من الوصول إلى نوعٍ مُمرَّر كمتحولٍ وسيطٍ (parameter)، راجع توثيق reified.
القيم المٌعادة
لائحة تحتوي عناصر المصفوفة أو المجموعة التي استُدعيت عبرها والتي هي نسخة (instance) من نوع (type) أو صنفٍ معيّن.
أمثلة
استخدام الدالة ()filterIsInstanceTo
مع المصفوفات
تعرف الشيفرة الآتية مصفوفة باسم array
مكونة من أعداد وسلاسل نصية باستخدام الدالة ()arrayOf
، ثم تعرف لائحة متغيرة (mutableList
) تضم عددًا واحدًا (0
)باسم list
باستخدام الدالة ()mutableListOf
، ثم تستخدم الدالة ()filterIsInstanceTo
لتصفية عناصر المصفوفة array
وانشاء لائحة جديدة تضم الأعداد فقط، ثم تطبع اللائحة:
fun main(args: Array<String>) {
val array = arrayOf("hsoub", 5,"mostaql","kotlin",3)
val list = mutableListOf(0)
array.filterIsInstanceTo(list)
println(list)// [0, 5, 3]
}
انظر أيضًا
filter()
: تعيد لائحة تحتوي عناصر المصفوفة أو المجموعة التي تحقق الشرط المنطقيpredicate()
المُمرّر إلى الدالة. وفي حال استدعائها عبرقاموس فستعيد قاموسًا جديدًا مكونًا من كل الأزوج التي تحقق الشرط المنطقيpredicate()
الممرر إلى الدالة.
filterIndexed()
: تعيد لائحة تحتوي عناصر المصفوفة أو المجموعة التي تحقق الشرط المنطقيpredicate()
المُمرّر إلى الدالة والتي تأخذ قيمة وفهرس عناصر المصفوفة أو المجموعة كوسيطين.filterIsInstance()
: تعيد لائحة تحتوي عناصر المصفوفة أو المجموعة التي استُدعيت عبرها والتي هي نسخة (instance) من نوع (type) أوصنفٍ معيّن.