|
|
سطر 1: |
سطر 1: |
| <noinclude>{{DISPLAYTITLE: الدالة <code>plusElement()</code> في لغة Kotlin}}</noinclude> | | <noinclude>{{DISPLAYTITLE: الدالة <code>plusElement()</code> في لغة Kotlin}}</noinclude> |
− | يختلف سلوك الدالة <code>plusElement()</code> حسب نوع الكائنات التي استُدعيت عبرها ونوع الوسائط الممررة (انظر فقرة [[Kotlin/collections/plus#.D8.A7.D9.84.D8.A8.D9.86.D9.8A.D8.A9 .D8.A7.D9.84.D8.B9.D8.A7.D9.85.D8.A9|البنية العامة]]).
| + | تضيف الدالة <code>plusElement()</code> العنصر المُمرّر إلى [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. |
| | | |
| ==البنية العامة== | | ==البنية العامة== |
− | في حال استدعاء الدالة <code>plus()</code> عبر [[Kotlin/Array|المصفوفات]] فستعيد [[Kotlin/Array|مصفوفة]] تضم جميع عناصر المصفوفة التي استدعيت عبرها إضافة إلى العنصر المُمرّر:<syntaxhighlight lang="kotlin"> | + | في حال استدعاء الدالة <code>plusElement()</code> عبر [[Kotlin/Array|المصفوفات]] فستعيد [[Kotlin/Array|مصفوفة]] تضم جميع عناصر المصفوفة التي استدعيت عبرها إضافة إلى العنصر المُمرّر:<syntaxhighlight lang="kotlin"> |
− | operator fun <T> Array<T>.plus(element: T): Array<T>
| + | inline fun <T> Array<T>.plusElement(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
| |
| </syntaxhighlight> | | </syntaxhighlight> |
| | | |
− | في حال استدعاء الدالة <code>plus()</code> عبر [[Kotlin/Array|المصفوفات]] مع تمرير [[Kotlin/Array|مصفوفة]] كوسيط، فستعيد [[Kotlin/Array|مصفوفة]] تضم جميع عناصر المصفوفة التي استدعيت عبرها إضافة إلى عناصر [[Kotlin/Array|المصفوفة]] المُمرّرة: <syntaxhighlight lang="kotlin"> | + | في حال استدعاء الدالة <code>plusElement()</code> عبر [[Kotlin/collections|المجموعات]] فستعيد [[Kotlin/List|لائحة]] تضم جميع عناصر [[Kotlin/collections|المجموعة]] <nowiki/>التي استدعيت عبرها إضافة إلى العنصر المُمرّر: <syntaxhighlight lang="kotlin"> |
− | operator fun <T> Array<T>.plus(
| + | inline fun <T> Iterable<T>.plusElement(element: T): List<T> |
− | elements: Collection<T>
| + | inline fun <T> Collection<T>.plusElement(element: T): List<T> |
− | ): Array<T> | + | </syntaxhighlight><nowiki/>في حال استدعاء الدالة <code>plusElement()</code> عبر [[Kotlin/Set|مجموعة]] من النوع <code>Set</code> ، فستعيد [[Kotlin/Set|مجموعة]] من النوع <code>Set</code> تضم جميع عناصر [[Kotlin/collections|المجموعة]] التي استدعيت عبرها إضافة إلى العنصر المُمرّر إن لم يكن موجودًا سلفًا، المجموعة المعادة تحافظ على ترتيب التكرار [[Kotlin/Set|للمجموعة]] الأصلية:<nowiki/><syntaxhighlight lang="kotlin"> |
− | operator fun ByteArray.plus(
| + | inline fun <T> Set<T>.plusElement(element: T): Set<T> |
− | 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
| |
| | | |
− | </syntaxhighlight>
| |
− |
| |
− | في حال استدعاء الدالة <code>plus()</code> عبر [[Kotlin/collections|المجموعات]] فستعيد [[Kotlin/List|لائحة]] تضم جميع عناصر [[Kotlin/collections|المجموعة]]<nowiki/>التي استدعيت عبرها إضافة إلى العنصر المُمرّر: <syntaxhighlight lang="kotlin">
| |
− | inline fun <T> Iterable<T>.partition(
| |
− | predicate: (T) -> Boolean
| |
− | ): 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>plusElement()</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>plusElement()</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>plusElement()</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/collections/plus#.D8.A7.D9.84.D8.A8.D9.86.D9.8A.D8.A9 .D8.A7.D9.84.D8.B9.D8.A7.D9.85.D8.A9|البنية العامة]]). | + | على حسب إمضاء الدالة (انظر فقرة [[Kotlin/collections/plusElement#.D8.A7.D9.84.D8.A8.D9.86.D9.8A.D8.A9 .D8.A7.D9.84.D8.B9.D8.A7.D9.85.D8.A9|البنية العامة]]). |
| ==أمثلة== | | ==أمثلة== |
| ===استخدام الدالة <code>()plusElement</code> مع اللوائح=== | | ===استخدام الدالة <code>()plusElement</code> مع اللوائح=== |
− | تعرف الشيفرة الآتية <nowiki/>[[Kotlin/List|لائحة]]<nowiki/><nowiki/> باسم <code>iterable</code>مكونة من خمسة أعداد باستخدام الدالة <code>()listOf</code>، ثم تستدعي الدالة <code>()plusElement</code> عبر <code>iterable</code> لإضافة العدد <code>7</code> إلى اللائحة <code>iterable</code><nowiki/>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin"> | + | تعرف الشيفرة الآتية <nowiki/>[[Kotlin/List|لائحة]]<nowiki/><nowiki/> باسم <code>iterable</code>مكونة من خمسة أعداد باستخدام الدالة <code>()listOf</code>، ثم تستدعي الدالة <code>()plusElement</code> عبر <code>iterable</code> لإضافة العدد <code>15</code> إليها<nowiki/>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin"> |
− | fun main(args: Array<String>) {
| |
− | val iterable = listOf(1, 2, 3, 4, 5)
| |
− | | |
− | println(iterable.plus(7)) // [1, 2, 3, 4, 5, 7]
| |
− | }
| |
− | </syntaxhighlight>
| |
− | ===استخدام الدالة <code>()plusElement</code> مع اللوائح: الحالة الثانية===
| |
− | تعرف الشيفرة الآتية <nowiki/>[[Kotlin/List|لائحة]] باسم <code>iterable</code>مكونة من خمسة أعداد باستخدام الدالة <code>()listOf</code>، ثم تعرف [[Kotlin/Array|مصفوفة]] باسم <code>array</code> مكونة من ثلاثة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستدعي الدالة <code>()plusElement</code> عبر <code>iterable</code> مع تمرير <code>array</code> كوسيط لإضافة عناصرها إلى <code>iterable</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
| |
| fun main(args: Array<String>) { | | fun main(args: Array<String>) { |
| val iterable = listOf(1, 2, 3, 4, 5) | | val iterable = listOf(1, 2, 3, 4, 5) |
− | val array = arrayOf(13,25,6)
| |
| | | |
− | println(iterable.plus(array)) // [1, 2, 3, 4, 5, 13, 25, 6] | + | println(iterable.plusElement(15)) // [1, 2, 3, 4, 5, 15] |
| } | | } |
| </syntaxhighlight> | | </syntaxhighlight> |
| ===انظر أيضًا=== | | ===انظر أيضًا=== |
− | *<code>[[Kotlin/collections/partition|partition()]]</code>: تُقسّم <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت عبرها إلى زوج مكوّن من لائحتين، اللائحة الأولى تضم العناصر التي تحقق الشرط المنطقي المُمرّر <code>predicate</code> (أي تعيد <code>true</code>)، بينما تضم الثانية العناصر الأخرى. | + | *<code>[[Kotlin/collections/plus|plus()]]</code>: تضيف عنصرًا واحدًا أو عدة عناصر إلى الكائن الذي استُدعيت عبره. |
| ==مصادر== | | ==مصادر== |
− | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/plus.html الدالة plusElement() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | + | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/plus-element.html الدالة plusElement() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] |
| [[تصنيف:Kotlin]] | | [[تصنيف:Kotlin]] |
| [[تصنيف:Kotlin Functions]] | | [[تصنيف:Kotlin Functions]] |