الفرق بين المراجعتين لصفحة: «Kotlin/collections/filterIsInstanceTo»
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(4 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 23: | سطر 23: | ||
وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (لمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]])، واستخدام الكلمة المفتاحية <code>reified</code> يسمح بالوصول إلى نوعٍ مُمرَّر كمتحولٍ وسيطٍ (parameter، راجع [[Kotlin/inline functions#.D8.A7.D9.84.D9.85.D8.AA.D8.AD.D9.88.D9.91.D9.84.D8.A7.D8.AA .D9.85.D9.86 .D8.A7.D9.84.D9.86.D9.88.D8.B9 reified.C2.A0|توثيق reified]] للمزيد من التفاصيل). | وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (لمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]])، واستخدام الكلمة المفتاحية <code>reified</code> يسمح بالوصول إلى نوعٍ مُمرَّر كمتحولٍ وسيطٍ (parameter، راجع [[Kotlin/inline functions#.D8.A7.D9.84.D9.85.D8.AA.D8.AD.D9.88.D9.91.D9.84.D8.A7.D8.AA .D9.85.D9.86 .D8.A7.D9.84.D9.86.D9.88.D8.B9 reified.C2.A0|توثيق reified]] للمزيد من التفاصيل). | ||
== القيم | |||
== المعاملات == | |||
=== <code>destination</code> === | |||
مجموعة متغيرة موجود مسبقًا تمثل الوجهة المراد إضافة الناتج فيها. | |||
=== <code>klass</code> === | |||
الصنف الذي يراد جلب جميع العناصر التي تعدُّ نسخةً منه. | |||
== القيم المعادة == | |||
تُعاد عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة التي هي نسخةٌ (instance) من نوع أو [[Kotlin/classes|صنفٍ]] معيّن والمضافة إلى المعامل <code>destination</code>. | تُعاد عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة التي هي نسخةٌ (instance) من نوع أو [[Kotlin/classes|صنفٍ]] معيّن والمضافة إلى المعامل <code>destination</code>. | ||
==أمثلة== | ==أمثلة== | ||
تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باستخدام الدالة <code>()arrayOf</code> وقائمة متغيرة باستخدام الدالة <code>()mutableListOf</code> ثم تستخدم الدالة <code>()filterIsInstanceTo</code> لترشيح عناصر المصفوفة وإضافتها إلى القائمة المتغيرة:<syntaxhighlight lang="kotlin"> | تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باستخدام الدالة <code>()arrayOf</code> وقائمة متغيرة باستخدام الدالة <code>()mutableListOf</code> ثم تستخدم الدالة <code>()filterIsInstanceTo</code> لترشيح عناصر المصفوفة وإضافتها إلى القائمة المتغيرة:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
سطر 34: | سطر 42: | ||
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|صنفٍ]] معيّن. | ||
* الدالة <code>[[Kotlin/collections/filterTo|filterTo()]]</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> ثم تعيد بدورها قيمة منطقيَّة. | |||
* <nowiki/><nowiki/><nowiki/>الدالة <code>[[Kotlin/collections/filterIndexedTo|filterIndexedTo()]]</code>: تضيف إلى المعامل <code>destination</code> المُمرَّر إليها عناصر المجموعة المتغيرة (MutableCollection) المعطاة التي أعيدت القيمة <code>true</code> مع كل عنصر منها عند تطبيق الدالة <code>predicate</code> المُمرّرة عليها. | |||
* الدالة <code>[[Kotlin/collections/filterNotNullTo|filterNotNullTo()]]</code>: تشبه الدالة <code>[[Kotlin/collections/filterNotNull|filterNotNull()]]</code> في جميع النواحي باستثناء أنَّها تضيف الناتج الذي تعيده إلى المعامل المُمرَّر إليها. | |||
*الدالة <code>[[Kotlin/collections/filterNotTo|filterNotTo()]]</code>: تشبه الدالة <code>[[Kotlin/collections/filterNot|filterNot()]]</code> في جميع النواحي باستثناء أنَّها تضيف الناتج المعاد إلى المعامل الممرَّر إليها. | |||
==مصادر== | ==مصادر== | ||
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/filter-is-instance-to.html صفحة الدالة filterIsInstanceTo() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | * [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/filter-is-instance-to.html صفحة الدالة filterIsInstanceTo() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin | [[تصنيف:Kotlin Function]] | ||
[[تصنيف:Kotlin Collection]] |
المراجعة الحالية بتاريخ 07:58، 8 سبتمبر 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 للمزيد من التفاصيل).
المعاملات
destination
مجموعة متغيرة موجود مسبقًا تمثل الوجهة المراد إضافة الناتج فيها.
klass
الصنف الذي يراد جلب جميع العناصر التي تعدُّ نسخةً منه.
القيم المعادة
تُعاد عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن والمضافة إلى المعامل destination
.
أمثلة
تعرِّف الشيفرة الآتية مصفوفة باستخدام الدالة ()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()
في جميع النواحي باستثناء أنَّها تضيف الناتج المعاد إلى المعامل الممرَّر إليها.