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