الفرق بين المراجعتين لصفحة: «Kotlin/collections/filterIndexedTo»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>filterIndexedTo()</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>filterIndexedTo()</code> Kotli...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>filterIndexedTo()</code> في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة <code>filterIndexedTo()</code> في لغة Kotlin}}</noinclude> | ||
تضيف الدالة<code>filterIndexedTo()</code> إلى المعامل <code>destination</code> الممرّر إليها عناصرّ [[Kotlin/collections|المجموعة]] المتغيرة (<code>MutableCollection</code>) التي استُدعيت عبرها والتي تحقق الشرط المنطقي <code>predicate()</code> المُمرّر إلى الدالة، الدالة المنطقية <code>predicate()</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>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | </syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | ||
== القيم المٌعادة == | == القيم المٌعادة == | ||
[[Kotlin/ | [[Kotlin/collections|المجموعة]] الممررة إلى الدالة<code>filterIndexedTo()</code> بعد إضافةعناصرّ [[Kotlin/collections|المجموعة]] المتغيرة (<code>MutableCollection</code>) التي استُدعيت عبرها والتي تحقق الشرط المنطقي <code>predicate()</code> المُمرّر إلى الدالة. | ||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>()filterIndexedTo</code> مع | ===استخدام الدالة <code>()filterIndexedTo</code> مع اللوائح المتغيرة=== | ||
تعرف الشيفرة الآتية [[Kotlin/ | تعرف الشيفرة الآتية [[Kotlin/collections/List|لائحتين]] متغيرتين (<code>mutableList</code>) باسم <code>list</code> و <code>list2</code> باستخدام الدالة <code>()mutableListOf</code>، الأولى مكونة من ستة أعداد والثانية تضم عددًا واحدًا (<code>0</code>)، ثم تستخدم الدالة <code>()filterIndexedTo</code> لتصفية عناصر [[Kotlin/Array|اللائحة]] <code>list</code> بواسطة الدالة <code>()predicate</code> المعرّفة في الشيفرة، وتضيف تلك العناصر إلى <code>list2</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 list2 = mutableListOf(0) | |||
val predicate : (Int,Int) -> Boolean = {x,y -> x < y } | 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/filter|filter()]]</code>: تعيد <nowiki/>[[Kotlin/Array|لائحة]] تحتوي عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي تحقق الشرط المنطقي <code>predicate()</code> المُمرّر إلى الدالة. وفي حال استدعائها عبرقاموس فستعيد قاموسًا جديدًا مكونًا من كل الأزوج التي تحقق الشرط المنطقي <code>predicate()</code> الممرر إلى الدالة. | *<code>[[Kotlin/collections/filter|filter()]]</code>: تعيد <nowiki/>[[Kotlin/Array|لائحة]] تحتوي عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي تحقق الشرط المنطقي <code>predicate()</code> المُمرّر إلى الدالة. وفي حال استدعائها عبرقاموس فستعيد قاموسًا جديدًا مكونًا من كل الأزوج التي تحقق الشرط المنطقي <code>predicate()</code> الممرر إلى الدالة. | ||
* <code>[[Kotlin/collections/filterIndexed|filterIndexed()]]</code>: تعيد <nowiki/>[[Kotlin/Array|لائحة]] تحتوي عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي تحقق الشرط المنطقي <code>predicate()</code> المُمرّر إلى الدالة والتي تأخذ قيمة وفهرس عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] كوسيطين. | |||
==مصادر== | ==مصادر== | ||
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/filter-indexed.html الدالة filterIndexedTo() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | * [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/filter-indexed-to.html الدالة filterIndexedTo() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 11:44، 15 مايو 2018
تضيف الدالةfilterIndexedTo()
إلى المعامل destination
الممرّر إليها عناصرّ المجموعة المتغيرة (MutableCollection
) التي استُدعيت عبرها والتي تحقق الشرط المنطقي predicate()
المُمرّر إلى الدالة، الدالة المنطقية predicate()
تأخذ فهرس العنصر وقيمته كمعاملَين وتعيد قيمة منطقية.
البنية العامة
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
للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).
القيم المٌعادة
المجموعة الممررة إلى الدالةfilterIndexedTo()
بعد إضافةعناصرّ المجموعة المتغيرة (MutableCollection
) التي استُدعيت عبرها والتي تحقق الشرط المنطقي predicate()
المُمرّر إلى الدالة.
أمثلة
استخدام الدالة ()filterIndexedTo
مع اللوائح المتغيرة
تعرف الشيفرة الآتية لائحتين متغيرتين (mutableList
) باسم list
و list2
باستخدام الدالة ()mutableListOf
، الأولى مكونة من ستة أعداد والثانية تضم عددًا واحدًا (0
)، ثم تستخدم الدالة ()filterIndexedTo
لتصفية عناصر اللائحة list
بواسطة الدالة ()predicate
المعرّفة في الشيفرة، وتضيف تلك العناصر إلى list2
ثم تعرضها:
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]
}
انظر أيضًا
filter()
: تعيد لائحة تحتوي عناصر المصفوفة أو المجموعة التي تحقق الشرط المنطقيpredicate()
المُمرّر إلى الدالة. وفي حال استدعائها عبرقاموس فستعيد قاموسًا جديدًا مكونًا من كل الأزوج التي تحقق الشرط المنطقيpredicate()
الممرر إلى الدالة.
filterIndexed()
: تعيد لائحة تحتوي عناصر المصفوفة أو المجموعة التي تحقق الشرط المنطقيpredicate()
المُمرّر إلى الدالة والتي تأخذ قيمة وفهرس عناصر المصفوفة أو المجموعة كوسيطين.