الفرق بين المراجعتين ل"Kotlin/collections/plus"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>plus()‎</code> في لغة Kotlin}}</noinclude> تُقسّم الدالةُ<code>plus()‎</code> Kotlin/Array|الم...')
 
سطر 3: سطر 3:
  
 
==البنية العامة==
 
==البنية العامة==
يمكن استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin">
+
في حال استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/Array|المصفوفات]] فستعيد [[Kotlin/Array|مصفوفة]] تضم جميع عناصر المصفوفة التي استدعيت عبرها إضافة إلى العنصر المُمرّر:<syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.partition(
+
operator fun <T> Array<T>.plus(element: T): Array<T>
    predicate: (T) -> Boolean
+
operator fun ByteArray.plus(element: Byte): ByteArray
): Pair<List<T>, List<T>>  
+
operator fun ShortArray.plus(element: Short): ShortArray
inline fun ByteArray.partition(
+
operator fun IntArray.plus(element: Int): IntArray
     predicate: (Byte) -> Boolean
+
operator fun LongArray.plus(element: Long): LongArray
): Pair<List<Byte>, List<Byte>>
+
operator fun FloatArray.plus(element: Float): FloatArray
inline fun ShortArray.partition(
+
operator fun DoubleArray.plus(element: Double): DoubleArray
     predicate: (Short) -> Boolean
+
operator fun BooleanArray.plus(
): Pair<List<Short>, List<Short>>
+
    element: Boolean
inline fun IntArray.partition(
+
): BooleanArray
     predicate: (Int) -> Boolean
+
</syntaxhighlight>
): Pair<List<Int>, List<Int>>
+
 
inline fun LongArray.partition(
+
في حال استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/Array|المصفوفات]] مع تمرير [[Kotlin/Array|مصفوفة]] كوسيط، فستعيد [[Kotlin/Array|مصفوفة]] تضم جميع عناصر المصفوفة التي استدعيت عبرها إضافة إلى عناصر [[Kotlin/Array|المصفوفة]] المُمرّرة: <syntaxhighlight lang="kotlin">
     predicate: (Long) -> Boolean
+
operator fun <T> Array<T>.plus(
): Pair<List<Long>, List<Long>>
+
     elements: Collection<T>
inline fun FloatArray.partition(
+
): Array<T>  
     predicate: (Float) -> Boolean
+
operator fun ByteArray.plus(
): Pair<List<Float>, List<Float>>  
+
    elements: Collection<Byte>
inline fun DoubleArray.partition(
+
): ByteArray
     predicate: (Double) -> Boolean
+
operator fun ShortArray.plus(
): Pair<List<Double>, List<Double>>
+
     elements: Collection<Short>
inline fun BooleanArray.partition(
+
): ShortArray
     predicate: (Boolean) -> Boolean
+
operator fun IntArray.plus(
): Pair<List<Boolean>, List<Boolean>>
+
     elements: Collection<Int>
inline fun CharArray.partition(
+
): IntArray
     predicate: (Char) -> Boolean
+
operator fun LongArray.plus(
): Pair<List<Char>, List<Char>>
+
     elements: Collection<Long>
 +
): LongArray
 +
operator fun FloatArray.plus(
 +
     elements: Collection<Float>
 +
): FloatArray
 +
operator fun DoubleArray.plus(
 +
    elements: Collection<Double>
 +
): DoubleArray
 +
operator fun BooleanArray.plus(
 +
    elements: Collection<Boolean>
 +
): BooleanArray
 +
operator fun CharArray.plus(
 +
     elements: Collection<Char>
 +
): CharArray
 +
operator fun <T> Array<T>.plus(
 +
    elements: Array<out T>
 +
): Array<T>  
 +
operator fun ByteArray.plus(elements: ByteArray): ByteArray
 +
operator fun ShortArray.plus(
 +
     elements: ShortArray
 +
): ShortArray
 +
operator fun IntArray.plus(elements: IntArray): IntArray
 +
operator fun LongArray.plus(elements: LongArray): LongArray
 +
operator fun FloatArray.plus(
 +
     elements: FloatArray
 +
): FloatArray
 +
operator fun DoubleArray.plus(
 +
    elements: DoubleArray
 +
): DoubleArray
 +
operator fun BooleanArray.plus(
 +
    elements: BooleanArray
 +
): BooleanArray
  
 
</syntaxhighlight>
 
</syntaxhighlight>
  
يمكن استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/collections|المجموعات]]: <syntaxhighlight lang="kotlin">
+
في حال استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/collections|المجموعات]] فستعيد [[Kotlin/List|لائحة]] تضم جميع عناصر [[Kotlin/collections|المجموعة]]<nowiki/>التي استدعيت عبرها إضافة إلى العنصر المُمرّر: <syntaxhighlight lang="kotlin">
 
inline fun <T> Iterable<T>.partition(
 
inline fun <T> Iterable<T>.partition(
 
     predicate: (T) -> Boolean
 
     predicate: (T) -> Boolean
 
): Pair<List<T>, List<T>>
 
): Pair<List<T>, List<T>>
 +
</syntaxhighlight>في حال استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/collections|المجموعات]] مع تمرير [[Kotlin/Array|مصفوفة]] كوسيط، فستعيد [[Kotlin/List|لائحة]] تضم جميع عناصر [[Kotlin/collections|المجموعة]]<nowiki/>التي استدعيت عبرها إضافة إلى عناصر [[Kotlin/Array|المصفوفة]] المُمرّرة:<syntaxhighlight lang="kotlin">
 +
operator fun <T> Iterable<T>.plus(
 +
    elements: Array<out T>
 +
): List<T>
 +
operator fun <T> Collection<T>.plus(
 +
    elements: Array<out T>
 +
): List<T>
 +
</syntaxhighlight>في حال استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/collections|المجموعات]] مع تمرير [[Kotlin/Array|مجموعة]] كوسيط، فستعيد [[Kotlin/List|لائحة]] تضم جميع عناصر [[Kotlin/collections|المجموعة]] التي استدعيت عبرها إضافة إلى عناصر [[Kotlin/Array|المجموعة]] المُمرّرة:<syntaxhighlight lang="kotlin">
 +
operator fun <T> Iterable<T>.plus(
 +
    elements: Iterable<T>
 +
): List<T>
 +
operator fun <T> Collection<T>.plus(
 +
    elements: Iterable<T>
 +
): List<T>
 +
</syntaxhighlight>في حال استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/collections|المجموعات]] مع تمرير [[Kotlin/sequence|سلسلة]] كوسيط، فستعيد [[Kotlin/List|لائحة]] تضم جميع عناصر [[Kotlin/collections|المجموعة]] التي استدعيت عبرها إضافة إلى عناصر [[Kotlin/Array|السلسلة]] المُمرّرة:<syntaxhighlight lang="kotlin">
 +
operator fun <T> Iterable<T>.plus(
 +
    elements: Sequence<T>
 +
): List<T>
 +
operator fun <T> Collection<T>.plus(
 +
    elements: Sequence<T>
 +
): List<T>
 +
</syntaxhighlight>في حال استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/Set|مجموعة]] من النوع <code>Set</code> ، فستعيد [[Kotlin/Set|مجموعة]] من النوع <code>Set</code> تضم جميع عناصر [[Kotlin/collections|المجموعة]] التي استدعيت عبرها إضافة إلى العنصر المُمرّر إن لم يكن موجودًا سلفًا، المجموعة المعادة تحافظ على ترتيب التكرار [[Kotlin/Set|للمجموعة]] الأصلية:<syntaxhighlight lang="kotlin">
 +
operator fun <T> Set<T>.plus(element: T): Set<T>
 +
 +
</syntaxhighlight>في حال استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/Set|مجموعة]] من النوع <code>Set</code> مع تمرير  [[Kotlin/Array|مصفوفة]] كوسيط، فستعيد [[Kotlin/Set|مجموعة]] من النوع <code>Set</code> تضم جميع عناصر [[Kotlin/collections|المجموعة]] التي استدعيت عبرها إضافة إلى عناصر [[Kotlin/Array|المصفوفة]] المُمرّرة مع تجنب العناصر الموجودة سلفًا، المجموعة المعادة تحافظ على ترتيب التكرار [[Kotlin/Set|للمجموعة]] الأصلية:<syntaxhighlight lang="kotlin">
 +
operator fun <T> Set<T>.plus(elements: Array<out T>): Set<T>
 +
 +
</syntaxhighlight>في حال استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/Set|مجموعة]] من النوع <code>Set</code> مع تمرير  [[Kotlin/collections|مجموعة]] كوسيط، فستعيد [[Kotlin/Set|مجموعة]] من النوع <code>Set</code> تضم جميع عناصر [[Kotlin/collections|المجموعة]] التي استدعيت عبرها إضافة إلى عناصر [[Kotlin/Array|المجموعة]] المُمرّرة مع تجنب العناصر الموجودة سلفًا، المجموعة المعادة تحافظ على ترتيب التكرار [[Kotlin/Set|للمجموعة]] الأصلية:<syntaxhighlight lang="kotlin">
 +
operator fun <T> Set<T>.plus(elements: Iterable<T>): Set<T>
 +
 +
</syntaxhighlight>في حال استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/Set|مجموعة]] من النوع <code>Set</code> مع تمرير  [[Kotlin/sequence|سلسلة]] كوسيط، فستعيد [[Kotlin/Set|مجموعة]] من النوع <code>Set</code> تضم جميع عناصر [[Kotlin/collections|المجموعة]] التي استدعيت عبرها إضافة إلى عناصر  [[Kotlin/sequence|السلسلة]] المُمرّرة مع تجنب العناصر الموجودة سلفًا، المجموعة المعادة تحافظ على ترتيب التكرار [[Kotlin/Set|للمجموعة]] الأصلية:<syntaxhighlight lang="kotlin">
 +
operator fun <T> Set<T>.plus(elements: Iterable<T>): Set<T>
 +
 +
</syntaxhighlight>في حال استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/Map|قاموس]]، فستعيد [[Kotlin/Set|قاموسًا]] جديدًا للقراءة فقط (read-only) بتعويض أو إضافة مدخل (entry)  جديد انطلاقًا من [[Kotlin/Pair|الزوج]] المُمرّر  <code>pair</code>، [[Kotlin/Map|القاموس]]<nowiki/>المعاد يحافظ على ترتيب التكرار [[Kotlin/Set|للقاموس]] الأصلي:<syntaxhighlight lang="kotlin">
 +
operator fun <K, V> Map<out K, V>.plus(
 +
    pair: Pair<K, V>
 +
): Map<K, V>
 +
</syntaxhighlight>في حال استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/Map|قاموس]] مع تمرير [[Kotlin/collections|مجموعة]] كوسيط، فستعيد [[Kotlin/Set|قاموسًا]] جديدًا للقراءة فقط (read-only) بتعويض أو إضافة مداخلَ (entries)  جديدة انطلاقًا من [[Kotlin/Pair|المجموعة]] المُمرّرة  <code>pairs</code>، [[Kotlin/Map|القاموس]]<nowiki/>المعاد يحافظ على ترتيب التكرار [[Kotlin/Set|للقاموس]] الأصلي، والمداخل المُضافة من <code>pairs</code> ذات المفاتيح الفريدة ستُكرّر في آخر ترتيب <code>pairs</code>:<syntaxhighlight lang="kotlin">
 +
operator fun <K, V> Map<out K, V>.plus(
 +
    pairs: Iterable<Pair<K, V>>
 +
): Map<K, V>
 +
</syntaxhighlight>في حال استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/Map|قاموس]] مع تمرير [[Kotlin/Array|مصفوفة]] كوسيط، فستعيد [[Kotlin/Set|قاموسًا]] جديدًا للقراءة فقط (read-only) بتعويض أو إضافة مداخلَ (entries)  جديدة انطلاقًا من [[Kotlin/Pair|المصفوفة]] المُمرّرة  <code>pairs</code>، [[Kotlin/Map|القاموس]]<nowiki/>المعاد يحافظ على ترتيب التكرار [[Kotlin/Set|للقاموس]] الأصلي، والمداخل المُضافة من <code>pairs</code> ذات المفاتيح الفريدة ستُكرّر في آخر ترتيب <code>pairs</code>:<syntaxhighlight lang="kotlin">
 +
operator fun <K, V> Map<out K, V>.plus(
 +
    pairs: Array<out Pair<K, V>>
 +
): Map<K, V>
 +
</syntaxhighlight>في حال استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/Map|قاموس]] مع تمرير [[Kotlin/Array|سلسلة]] كوسيط، فستعيد [[Kotlin/Set|قاموسًا]] جديدًا للقراءة فقط (read-only) بتعويض أو إضافة مداخلَ (entries)  جديدة انطلاقًا من [[Kotlin/Pair|السلسلة]] المُمرّرة  <code>pairs</code>، [[Kotlin/Map|القاموس]]<nowiki/>المعاد يحافظ على ترتيب التكرار [[Kotlin/Set|للقاموس]] الأصلي، والمداخل المُضافة من <code>pairs</code> ذات المفاتيح الفريدة ستُكرّر في آخر ترتيب <code>pairs</code>:<syntaxhighlight lang="kotlin">
 +
operator fun <K, V> Map<out K, V>.plus(
 +
    pairs: Sequence<Pair<K, V>>
 +
): Map<K, V>
 +
</syntaxhighlight>في حال استدعاء الدالة <code>plus()‎</code> عبر  [[Kotlin/Map|قاموس]] مع تمرير [[Kotlin/Map|قاموس]] كوسيط، فستعيد [[Kotlin/Set|قاموسًا]] جديدًا للقراءة فقط (read-only) بتعويض أو إضافة مداخلَ (entries)  جديدة انطلاقًا من [[Kotlin/Pair|القاموس]] المُمرّر  <code>map</code>، [[Kotlin/Map|القاموس]]<nowiki/>المعاد يحافظ على ترتيب التكرار [[Kotlin/Set|للقاموس]] الأصلي، المداخل المُضافة من <code>pairs</code> ذات المفاتيح الفريدة تُكرّر في آخر ترتيب <code>map</code>:<syntaxhighlight lang="kotlin">
 +
operator fun <K, V> Map<out K, V>.plus(
 +
    map: Map<out K, V>
 +
): Map<K, V>
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
  
 
==القيم المٌعادة==
 
==القيم المٌعادة==
زوج مكوّن من [[Kotlin/List|لائحتين]]، [[Kotlin/List|اللائحة]] الأولى تضم العناصر التي تحقق الشرط المنطقي المُمرّر <code>predicate</code> (أي تعيد <code>true</code>)، بينما تضم الثانية العناصر الأخرى.  
+
على حسب إمضاء الدالة (انظر فقرة البنية العامة).  
 
==أمثلة==
 
==أمثلة==
 
===استخدام الدالة <code>()plus</code> مع اللوائح===
 
===استخدام الدالة <code>()plus</code> مع اللوائح===

مراجعة 17:54، 31 مايو 2018

تُقسّم الدالةُplus()‎ المصفوفة أو المجموعة التي استُدعيت عبرها إلى زوج مكوّن من لائحتين، اللائحة الأولى تضم العناصر التي تحقق الشرط المنطقي المُمرّر predicate (أي تعيد true)، بينما تضم الثانية العناصر الأخرى.

البنية العامة

في حال استدعاء الدالة plus()‎ عبر المصفوفات فستعيد مصفوفة تضم جميع عناصر المصفوفة التي استدعيت عبرها إضافة إلى العنصر المُمرّر:

operator fun <T> Array<T>.plus(element: T): Array<T> 
operator fun ByteArray.plus(element: Byte): ByteArray 
operator fun ShortArray.plus(element: Short): ShortArray 
operator fun IntArray.plus(element: Int): IntArray 
operator fun LongArray.plus(element: Long): LongArray 
operator fun FloatArray.plus(element: Float): FloatArray 
operator fun DoubleArray.plus(element: Double): DoubleArray 
operator fun BooleanArray.plus(
    element: Boolean
): BooleanArray

في حال استدعاء الدالة plus()‎ عبر المصفوفات مع تمرير مصفوفة كوسيط، فستعيد مصفوفة تضم جميع عناصر المصفوفة التي استدعيت عبرها إضافة إلى عناصر المصفوفة المُمرّرة:

operator fun <T> Array<T>.plus(
    elements: Collection<T>
): Array<T> 
operator fun ByteArray.plus(
    elements: Collection<Byte>
): ByteArray 
operator fun ShortArray.plus(
    elements: Collection<Short>
): ShortArray 
operator fun IntArray.plus(
    elements: Collection<Int>
): IntArray 
operator fun LongArray.plus(
    elements: Collection<Long>
): LongArray 
operator fun FloatArray.plus(
    elements: Collection<Float>
): FloatArray 
operator fun DoubleArray.plus(
    elements: Collection<Double>
): DoubleArray 
operator fun BooleanArray.plus(
    elements: Collection<Boolean>
): BooleanArray 
operator fun CharArray.plus(
    elements: Collection<Char>
): CharArray 
operator fun <T> Array<T>.plus(
    elements: Array<out T>
): Array<T> 
operator fun ByteArray.plus(elements: ByteArray): ByteArray 
operator fun ShortArray.plus(
    elements: ShortArray
): ShortArray 
operator fun IntArray.plus(elements: IntArray): IntArray 
operator fun LongArray.plus(elements: LongArray): LongArray 
operator fun FloatArray.plus(
    elements: FloatArray
): FloatArray 
operator fun DoubleArray.plus(
    elements: DoubleArray
): DoubleArray 
operator fun BooleanArray.plus(
    elements: BooleanArray
): BooleanArray

في حال استدعاء الدالة plus()‎ عبر المجموعات فستعيد لائحة تضم جميع عناصر المجموعةالتي استدعيت عبرها إضافة إلى العنصر المُمرّر:

inline fun <T> Iterable<T>.partition(
    predicate: (T) -> Boolean
): Pair<List<T>, List<T>>

في حال استدعاء الدالة plus()‎ عبر المجموعات مع تمرير مصفوفة كوسيط، فستعيد لائحة تضم جميع عناصر المجموعةالتي استدعيت عبرها إضافة إلى عناصر المصفوفة المُمرّرة:

operator fun <T> Iterable<T>.plus(
    elements: Array<out T>
): List<T> 
operator fun <T> Collection<T>.plus(
    elements: Array<out T>
): List<T>

في حال استدعاء الدالة plus()‎ عبر المجموعات مع تمرير مجموعة كوسيط، فستعيد لائحة تضم جميع عناصر المجموعة التي استدعيت عبرها إضافة إلى عناصر المجموعة المُمرّرة:

operator fun <T> Iterable<T>.plus(
    elements: Iterable<T>
): List<T> 
operator fun <T> Collection<T>.plus(
    elements: Iterable<T>
): List<T>

في حال استدعاء الدالة plus()‎ عبر المجموعات مع تمرير سلسلة كوسيط، فستعيد لائحة تضم جميع عناصر المجموعة التي استدعيت عبرها إضافة إلى عناصر السلسلة المُمرّرة:

operator fun <T> Iterable<T>.plus(
    elements: Sequence<T>
): List<T> 
operator fun <T> Collection<T>.plus(
    elements: Sequence<T>
): List<T>

في حال استدعاء الدالة plus()‎ عبر مجموعة من النوع Set ، فستعيد مجموعة من النوع Set تضم جميع عناصر المجموعة التي استدعيت عبرها إضافة إلى العنصر المُمرّر إن لم يكن موجودًا سلفًا، المجموعة المعادة تحافظ على ترتيب التكرار للمجموعة الأصلية:

operator fun <T> Set<T>.plus(element: T): Set<T>

في حال استدعاء الدالة plus()‎ عبر مجموعة من النوع Set مع تمرير مصفوفة كوسيط، فستعيد مجموعة من النوع Set تضم جميع عناصر المجموعة التي استدعيت عبرها إضافة إلى عناصر المصفوفة المُمرّرة مع تجنب العناصر الموجودة سلفًا، المجموعة المعادة تحافظ على ترتيب التكرار للمجموعة الأصلية:

operator fun <T> Set<T>.plus(elements: Array<out T>): Set<T>

في حال استدعاء الدالة plus()‎ عبر مجموعة من النوع Set مع تمرير مجموعة كوسيط، فستعيد مجموعة من النوع Set تضم جميع عناصر المجموعة التي استدعيت عبرها إضافة إلى عناصر المجموعة المُمرّرة مع تجنب العناصر الموجودة سلفًا، المجموعة المعادة تحافظ على ترتيب التكرار للمجموعة الأصلية:

operator fun <T> Set<T>.plus(elements: Iterable<T>): Set<T>

في حال استدعاء الدالة plus()‎ عبر مجموعة من النوع Set مع تمرير سلسلة كوسيط، فستعيد مجموعة من النوع Set تضم جميع عناصر المجموعة التي استدعيت عبرها إضافة إلى عناصر السلسلة المُمرّرة مع تجنب العناصر الموجودة سلفًا، المجموعة المعادة تحافظ على ترتيب التكرار للمجموعة الأصلية:

operator fun <T> Set<T>.plus(elements: Iterable<T>): Set<T>

في حال استدعاء الدالة plus()‎ عبر قاموس، فستعيد قاموسًا جديدًا للقراءة فقط (read-only) بتعويض أو إضافة مدخل (entry) جديد انطلاقًا من الزوج المُمرّر pair، القاموسالمعاد يحافظ على ترتيب التكرار للقاموس الأصلي:

operator fun <K, V> Map<out K, V>.plus(
    pair: Pair<K, V>
): Map<K, V>

في حال استدعاء الدالة plus()‎ عبر قاموس مع تمرير مجموعة كوسيط، فستعيد قاموسًا جديدًا للقراءة فقط (read-only) بتعويض أو إضافة مداخلَ (entries) جديدة انطلاقًا من المجموعة المُمرّرة pairs، القاموسالمعاد يحافظ على ترتيب التكرار للقاموس الأصلي، والمداخل المُضافة من pairs ذات المفاتيح الفريدة ستُكرّر في آخر ترتيب pairs:

operator fun <K, V> Map<out K, V>.plus(
    pairs: Iterable<Pair<K, V>>
): Map<K, V>

في حال استدعاء الدالة plus()‎ عبر قاموس مع تمرير مصفوفة كوسيط، فستعيد قاموسًا جديدًا للقراءة فقط (read-only) بتعويض أو إضافة مداخلَ (entries) جديدة انطلاقًا من المصفوفة المُمرّرة pairs، القاموسالمعاد يحافظ على ترتيب التكرار للقاموس الأصلي، والمداخل المُضافة من pairs ذات المفاتيح الفريدة ستُكرّر في آخر ترتيب pairs:

operator fun <K, V> Map<out K, V>.plus(
    pairs: Array<out Pair<K, V>>
): Map<K, V>

في حال استدعاء الدالة plus()‎ عبر قاموس مع تمرير سلسلة كوسيط، فستعيد قاموسًا جديدًا للقراءة فقط (read-only) بتعويض أو إضافة مداخلَ (entries) جديدة انطلاقًا من السلسلة المُمرّرة pairs، القاموسالمعاد يحافظ على ترتيب التكرار للقاموس الأصلي، والمداخل المُضافة من pairs ذات المفاتيح الفريدة ستُكرّر في آخر ترتيب pairs:

operator fun <K, V> Map<out K, V>.plus(
    pairs: Sequence<Pair<K, V>>
): Map<K, V>

في حال استدعاء الدالة plus()‎ عبر قاموس مع تمرير قاموس كوسيط، فستعيد قاموسًا جديدًا للقراءة فقط (read-only) بتعويض أو إضافة مداخلَ (entries) جديدة انطلاقًا من القاموس المُمرّر map، القاموسالمعاد يحافظ على ترتيب التكرار للقاموس الأصلي، المداخل المُضافة من pairs ذات المفاتيح الفريدة تُكرّر في آخر ترتيب map:

operator fun <K, V> Map<out K, V>.plus(
    map: Map<out K, V>
): Map<K, V>

يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).

القيم المٌعادة

على حسب إمضاء الدالة (انظر فقرة البنية العامة).

أمثلة

استخدام الدالة ()plus مع اللوائح

تعرف الشيفرة الآتية لائحة باسم iterableمكونة من خمسة أعداد باستخدام الدالة ()listOf، ثم تستدعي الدالة ()plus عبر iterable للحصول على زوج من النوع Pair<Iterable<Int>, Iterable<Int>>‎ مكون من لائحتين، الأولى تضم الأعداد الزوجية، والأخرى تضم الأعداد الفردية، ثم تطبع الناتج:

fun main(args: Array<String>) {
    val iterable = listOf(1, 2, 3, 4, 5)

    val pair: Pair<Iterable<Int>, Iterable<Int>> = iterable.partition { it % 2 == 0 }

    println(pair) // ([2, 4], [1, 3, 5])
}

انظر أيضًا

مصادر