الفرق بين المراجعتين لصفحة: «Kotlin/collections/filterIndexedTo»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>filterIndexedTo()</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>filterIndexedTo()</code> Kotli...' |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(9 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>filterIndexedTo()</code> في | <noinclude>{{DISPLAYTITLE: الدالة <code>filterIndexedTo()</code> في Kotlin}}</noinclude> | ||
تشبه الدالة <code>filterIndexedTo()</code> الدالة [[Kotlin/collections/filterIndexed|<code>filterIndexed()</code>]] تمامًا باستثناء أنها تضيف الناتج إلى كائن موجود مسبقًا بدلًا من أن تعيده. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
inline fun <T> Array<out T>. | inline fun <T, C : MutableCollection<in T>> Array<out T>.filterIndexedTo( | ||
destination: C, | |||
predicate: (index: Int, T) -> Boolean | predicate: (index: Int, T) -> Boolean | ||
): | ): C | ||
inline fun ByteArray. | inline fun <C : MutableCollection<in Byte>> ByteArray.filterIndexedTo( | ||
destination: C, | |||
predicate: (index: Int, Byte) -> Boolean | predicate: (index: Int, Byte) -> Boolean | ||
): | ): C | ||
inline fun ShortArray. | inline fun <C : MutableCollection<in Short>> ShortArray.filterIndexedTo( | ||
destination: C, | |||
predicate: (index: Int, Short) -> Boolean | predicate: (index: Int, Short) -> Boolean | ||
): | ): C | ||
inline fun IntArray. | inline fun <C : MutableCollection<in Int>> IntArray.filterIndexedTo( | ||
destination: C, | |||
predicate: (index: Int, Int) -> Boolean | predicate: (index: Int, Int) -> Boolean | ||
): | ): C | ||
inline fun LongArray. | inline fun <C : MutableCollection<in Long>> LongArray.filterIndexedTo( | ||
destination: C, | |||
predicate: (index: Int, Long) -> Boolean | predicate: (index: Int, Long) -> Boolean | ||
): | ): C | ||
inline fun FloatArray. | inline fun <C : MutableCollection<in Float>> FloatArray.filterIndexedTo( | ||
destination: C, | |||
predicate: (index: Int, Float) -> Boolean | predicate: (index: Int, Float) -> Boolean | ||
): | ): C | ||
inline fun DoubleArray. | inline fun <C : MutableCollection<in Double>> DoubleArray.filterIndexedTo( | ||
destination: C, | |||
predicate: (index: Int, Double) -> Boolean | predicate: (index: Int, Double) -> Boolean | ||
): | ): C | ||
inline fun BooleanArray. | inline fun <C : MutableCollection<in Boolean>> BooleanArray.filterIndexedTo( | ||
destination: C, | |||
predicate: (index: Int, Boolean) -> Boolean | predicate: (index: Int, Boolean) -> Boolean | ||
): | ): C | ||
inline fun CharArray. | inline fun <C : MutableCollection<in Char>> CharArray.filterIndexedTo( | ||
destination: C, | |||
predicate: (index: Int, Char) -> Boolean | predicate: (index: Int, Char) -> Boolean | ||
): | ): C | ||
inline fun <T> Iterable<T>. | inline fun <T, C : MutableCollection<in T>> Iterable<T>.filterIndexedTo( | ||
destination: C, | |||
predicate: (index: Int, T) -> Boolean | predicate: (index: Int, T) -> Boolean | ||
): | ): C | ||
</syntaxhighlight> | |||
== | </syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (لمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]]). | ||
[[Kotlin/ | |||
== المعاملات == | |||
=== <code>destination</code> === | |||
[[Kotlin/collections/MutableCollection|مجموعة متغيرة]] موجود مسبقًا تمثل الوجهة المراد إضافة الناتج فيها. | |||
=== <code>predicate</code> === | |||
دالةٌ تمثل الشرط المراد تطبيقه على كل عنصر من عناصر المصفوفة أو المجموعة المعطاة. يمرر إلى هذه الدالة فهرس العنصر وقيمته أيضًا وتعيد قيمة منطقية. | |||
== القيم المعادة == | |||
تُعاد عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة التي أعيدت القيمة <code>true</code> معها عند تطبيق الدالة <code>predicate</code> عليها بعد إضافتها إلى المعامل <code>destination</code>. | |||
==أمثلة== | ==أمثلة== | ||
تعرِّف الشيفرة الآتية [[Kotlin/List|قائمتين]] متغيرتين (mutableList) باسم <code>list</code> و <code>list2</code> باستخدام الدالة <code>()mutableListOf</code>، الأولى مكونة من ستة أعداد والثانية تضم عددًا واحدًا ثمَّ تستخدم الدالة <code>()filterIndexedTo</code> لترشيح عناصر القائمة الأولى وإضافتها إلى عناصر القائمة الثانية:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val | val list = mutableListOf(1, 2, 3, 2, 5, 1) | ||
val predicate | val list2 = mutableListOf(0) | ||
val predicate: (Int, Int) -> Boolean = { x, y -> x < y } | |||
list.filterIndexedTo(list2, predicate) | |||
println(list2)// [0, 1, 2, 3, 5] | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
*<code>[[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/filterTo|filterTo()]]</code>: تشبه هذه الدالة في جميع النواحي باستثناء أنها تضيف الناتج إلى المعامل الممرر إليها. | |||
* الدالة <code>[[Kotlin/collections/filterIsInstanceTo|filterIsInstanceTo()]]</code>: تضيف عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة التي هي نسخةٌ (instance) من نوع أو [[Kotlin/classes|صنفٍ]] معيّن إلى [[Kotlin/collections/MutableCollection|المجموعة المتغيرة]] <code>destination</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> في جميع النواحي باستثناء أنَّها تضيف الناتج المعاد إلى المعامل الممرَّر إليها. | |||
* الدالة <code>[[Kotlin/collections/mapIndexed|mapIndexed()]]</code>: تعيد قائمةً تحوي ناتج تطبيق الدالة المُمرّرة إليها على فهرس وقيمة كل عنصر من عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت معها. | |||
* الدالة <code>[[Kotlin/collections/mapIndexedTo|mapIndexedTo()]]</code>: تشبه الدالة <code>[[Kotlin/collections/mapIndexed|mapIndexed()]]</code> في جميع النواحي باستثناء أنها تضيف الناتج المعاد إلى المعامل الممرَّر إليها. | |||
* الدالة <code>[[Kotlin/collections/drop|drop()]]</code>: تعيد قائمة تحوي جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] التي استُدعيت معها باستثناء آخر <code>n</code> عنصر. | |||
==مصادر== | ==مصادر== | ||
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/filter-indexed.html الدالة | * [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/filter-indexed-to.html صفحة الدالة filterIndexedTo() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin | [[تصنيف:Kotlin Function]] | ||
[[تصنيف:Kotlin Collection]] |
المراجعة الحالية بتاريخ 07:54، 8 سبتمبر 2018
تشبه الدالة filterIndexedTo()
الدالة filterIndexed()
تمامًا باستثناء أنها تضيف الناتج إلى كائن موجود مسبقًا بدلًا من أن تعيده.
البنية العامة
inline fun <T, C : MutableCollection<in T>> Array<out T>.filterIndexedTo(
destination: C,
predicate: (index: Int, T) -> Boolean
): C
inline fun <C : MutableCollection<in Byte>> ByteArray.filterIndexedTo(
destination: C,
predicate: (index: Int, Byte) -> Boolean
): C
inline fun <C : MutableCollection<in Short>> ShortArray.filterIndexedTo(
destination: C,
predicate: (index: Int, Short) -> Boolean
): C
inline fun <C : MutableCollection<in Int>> IntArray.filterIndexedTo(
destination: C,
predicate: (index: Int, Int) -> Boolean
): C
inline fun <C : MutableCollection<in Long>> LongArray.filterIndexedTo(
destination: C,
predicate: (index: Int, Long) -> Boolean
): C
inline fun <C : MutableCollection<in Float>> FloatArray.filterIndexedTo(
destination: C,
predicate: (index: Int, Float) -> Boolean
): C
inline fun <C : MutableCollection<in Double>> DoubleArray.filterIndexedTo(
destination: C,
predicate: (index: Int, Double) -> Boolean
): C
inline fun <C : MutableCollection<in Boolean>> BooleanArray.filterIndexedTo(
destination: C,
predicate: (index: Int, Boolean) -> Boolean
): C
inline fun <C : MutableCollection<in Char>> CharArray.filterIndexedTo(
destination: C,
predicate: (index: Int, Char) -> Boolean
): C
inline fun <T, C : MutableCollection<in T>> Iterable<T>.filterIndexedTo(
destination: C,
predicate: (index: Int, T) -> Boolean
): C
وجود الكلمة المفتاحية inline
يدل على أنَّ هذه الدالة مباشرة (لمزيد من التفاصيل، راجع توثيق الدوال المباشرة).
المعاملات
destination
مجموعة متغيرة موجود مسبقًا تمثل الوجهة المراد إضافة الناتج فيها.
predicate
دالةٌ تمثل الشرط المراد تطبيقه على كل عنصر من عناصر المصفوفة أو المجموعة المعطاة. يمرر إلى هذه الدالة فهرس العنصر وقيمته أيضًا وتعيد قيمة منطقية.
القيم المعادة
تُعاد عناصر المصفوفة أو المجموعة المعطاة التي أعيدت القيمة true
معها عند تطبيق الدالة predicate
عليها بعد إضافتها إلى المعامل destination
.
أمثلة
تعرِّف الشيفرة الآتية قائمتين متغيرتين (mutableList) باسم list
و list2
باستخدام الدالة ()mutableListOf
، الأولى مكونة من ستة أعداد والثانية تضم عددًا واحدًا ثمَّ تستخدم الدالة ()filterIndexedTo
لترشيح عناصر القائمة الأولى وإضافتها إلى عناصر القائمة الثانية:
fun main(args: Array<String>) {
val list = mutableListOf(1, 2, 3, 2, 5, 1)
val list2 = mutableListOf(0)
val predicate: (Int, Int) -> Boolean = { x, y -> x < y }
list.filterIndexedTo(list2, predicate)
println(list2)// [0, 1, 2, 3, 5]
}
انظر أيضًا
- الدالة
filterIndexed()
: ترشِّح ترشِّح عناصر المصفوفة أو المجموعة المعطاة التي تُعاد القيمةtrue
معها عند تطبيق الدالةpredicate()
المُمرّر عليها، إذ يمرَّر فهرس كل عنصر وقيمته إلى الدالةpredicate()
ثم تعيد بدورها قيمة منطقيَّة. - الدالة
filterTo()
: تشبه هذه الدالة في جميع النواحي باستثناء أنها تضيف الناتج إلى المعامل الممرر إليها. - الدالة
filterIsInstanceTo()
: تضيف عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن إلى المجموعة المتغيرةdestination
المُمرّرة إليها. - الدالة
filterNotNullTo()
: تشبه الدالةfilterNotNull()
في جميع النواحي باستثناء أنَّها تضيف الناتج الذي تعيده إلى المعامل المُمرَّر إليها. - الدالة
filterNotTo()
: تشبه الدالةfilterNot()
في جميع النواحي باستثناء أنَّها تضيف الناتج المعاد إلى المعامل الممرَّر إليها. - الدالة
mapIndexed()
: تعيد قائمةً تحوي ناتج تطبيق الدالة المُمرّرة إليها على فهرس وقيمة كل عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها. - الدالة
mapIndexedTo()
: تشبه الدالةmapIndexed()
في جميع النواحي باستثناء أنها تضيف الناتج المعاد إلى المعامل الممرَّر إليها. - الدالة
drop()
: تعيد قائمة تحوي جميع عناصر المصفوفة أو المجموعة التي استُدعيت معها باستثناء آخرn
عنصر.