الفرق بين المراجعتين لصفحة: «Kotlin/collections/filterNotTo»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>filterNotTo()</code> في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة <code>filterNotTo()</code> في لغة Kotlin}}</noinclude> | ||
تضيف الدالة<code>filterNotTo()</code> إلى المعامل <code>destination</code> الممرّر إليها عناصرّ [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والتي لا تحقق الشرط المنطقي <code>predicate</code> المُمرّر | تضيف الدالة<code>filterNotTo()</code> إلى المعامل <code>destination</code> الممرّر إليها عناصرّ [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والتي لا تحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. من الجدير بالذكر أنّ <code>destination</code> ينبغي أن تكون [[Kotlin/collections|مجموعة]] قابلة للتغيير (<code>MutableCollection</code>). | ||
في حال استدعائها عبر [[Kotlin/collections/Map|قاموس]] فستضيف كل الأزوج التي لا تحقق الشرط المنطقي <code>predicate()</code> إلى [[Kotlin/collections/Map|القاموس]] <code>destination</code> الممرّر | في حال استدعائها عبر [[Kotlin/collections/Map|قاموس]] فستضيف كل الأزوج التي لا تحقق الشرط المنطقي <code>predicate()</code> إلى [[Kotlin/collections/Map|القاموس]] <code>destination</code> الممرّر إليها. ومن الجدير بالذكر أنّ <code>destination</code> ينبغي أن تكون [[Kotlin/collections/Map|قاموسًا]] قابلا للتغيير (<code>MutableMap</code>). | ||
==البنية العامة== | ==البنية العامة== | ||
يمكن استدعاء الدالة<code>filterNotTo()</code> على [[Kotlin/Array|المصفوفات]] أو [[Kotlin/collections|المجموعات]].<syntaxhighlight lang="kotlin"> | يمكن استدعاء الدالة<code>filterNotTo()</code> على [[Kotlin/Array|المصفوفات]] أو [[Kotlin/collections|المجموعات]].<syntaxhighlight lang="kotlin"> |
مراجعة 18:29، 15 مايو 2018
تضيف الدالةfilterNotTo()
إلى المعامل destination
الممرّر إليها عناصرّ المصفوفة أو المجموعة التي استُدعيت عبرها والتي لا تحقق الشرط المنطقي predicate
المُمرّر إليها. من الجدير بالذكر أنّ destination
ينبغي أن تكون مجموعة قابلة للتغيير (MutableCollection
).
في حال استدعائها عبر قاموس فستضيف كل الأزوج التي لا تحقق الشرط المنطقي predicate()
إلى القاموس destination
الممرّر إليها. ومن الجدير بالذكر أنّ destination
ينبغي أن تكون قاموسًا قابلا للتغيير (MutableMap
).
البنية العامة
يمكن استدعاء الدالةfilterNotTo()
على المصفوفات أو المجموعات.
inline fun <T, C : MutableCollection<in T>> Array<out T>.filterNotTo(
destination: C,
predicate: (T) -> Boolean
): C
inline fun <C : MutableCollection<in Byte>> ByteArray.filterNotTo(
destination: C,
predicate: (Byte) -> Boolean
): C
inline fun <C : MutableCollection<in Short>> ShortArray.filterNotTo(
destination: C,
predicate: (Short) -> Boolean
): C
inline fun <C : MutableCollection<in Int>> IntArray.filterNotTo(
destination: C,
predicate: (Int) -> Boolean
): C
inline fun <C : MutableCollection<in Long>> LongArray.filterNotTo(
destination: C,
predicate: (Long) -> Boolean
): C
inline fun <C : MutableCollection<in Float>> FloatArray.filterNotTo(
destination: C,
predicate: (Float) -> Boolean
): C
inline fun <C : MutableCollection<in Double>> DoubleArray.filterNotTo(
destination: C,
predicate: (Double) -> Boolean
): C
inline fun <C : MutableCollection<in Boolean>> BooleanArray.filterNotTo(
destination: C,
predicate: (Boolean) -> Boolean
): C
inline fun <C : MutableCollection<in Char>> CharArray.filterNotTo(
destination: C,
predicate: (Char) -> Boolean
): C
inline fun <T, C : MutableCollection<in T>> Iterable<T>.filterNotTo(
destination: C,
predicate: (T) -> Boolean
): C
يمكن استدعاء الدالةfilterNotTo()
على القواميس.
inline fun <K, V, M : MutableMap<in K, in V>> Map<out K, V>.filterNotTo(
destination: M,
predicate: (Entry<K, V>) -> Boolean
): M
يُلاحَظ وجود الكلمة المفتاحية inline
للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).
القيم المٌعادة
انظر أعلاه.
أمثلة
استخدام الدالة ()filterNotTo
مع اللوائح المتغيرة
تعرف الشيفرة الآتية لائحتين متغيرتين (mutableList
) باسم list
و list2
باستخدام الدالة ()mutableListOf
، الأولى مكونة من ستة أعداد والثانية تضم عددًا واحدًا (0
)، ثم تستخدم الدالة ()filterNotTo
لتصفية عناصر اللائحة list
التي لا تحقق الشرط المنطقيpredicate
المعرّف في الشيفرة وتضيف تلك العناصر إلى list2
ثم تعرضها:
fun main(args: Array<String>) {
val list = mutableListOf(1, 2, 3, 2, 5, 1)
val list2 = mutableListOf(0)
val predicate : (Int) -> Boolean = { it < 3 }
list.filterNotTo(list2, predicate)
println(list2) // [0, 3, 5]
}
انظر أيضًا
filter()
: تعيد لائحة تحتوي عناصر المصفوفة أو المجموعة التي تحقق الشرط المنطقيpredicate()
المُمرّر إلى الدالة. وفي حال استدعائها عبرقاموس فستعيد قاموسًا جديدًا مكونًا من كل الأزوج التي تحقق الشرط المنطقيpredicate()
الممرر إلى الدالة.
filterIndexed()
: تعيد لائحة تحتوي عناصر المصفوفة أو المجموعة التي تحقق الشرط المنطقيpredicate()
المُمرّر إلى الدالة والتي تأخذ قيمة وفهرس عناصر المصفوفة أو المجموعة كوسيطين.
filterNot()
: تعيد لائحة تحتوي عناصر المصفوفة أو المجموعة التي لا تحقق الشرط المنطقيpredicate()
المُمرّر إلى الدالة. وفي حال استدعائها عبر قاموس فستعيد قاموسًا جديدًا مكونًا من كل الأزوج التي لا تحقق الشرط المنطقيpredicate()
الممرر إلى الدالة.filterIsInstance()
: تعيد لائحة تحتوي عناصر المصفوفة أو المجموعة التي استُدعيت عبرها والتي هي نسخة (instance) من نوع (type) أوصنفٍ معيّن.filterIndexedTo()
: تضيف إلى المعاملdestination
الممرّر إليها عناصرّ المجموعة المتغيرة (MutableCollection
) التي استُدعيت عبرها والتي تحقق الشرط المنطقيpredicate()
المُمرّر إلى الدالة.