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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>unzip()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>unzip()‎</code> Kotlin/Set|مجموعة...')
 
ط
 
(4 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>unzip()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>unzip()‎</code> في Kotlin}}</noinclude>
تعيد الدالة<code>unzip()‎</code> [[Kotlin/Set|مجموعة من النوع Set]] تضم جميع عناصر [[Kotlin/Array|المصفوفة]]  أو  [[Kotlin/Iterable|المجموعة التكرارية]]  التي استُدعيت عبرها و<nowiki/>[[Kotlin/Iterable|المجموعة التكرارية]] المُمرّرة.
+
<nowiki/><nowiki/>تعيد الدالة <code>unzip()‎</code> قائمتين، إذ تحتوي الأولى على القيم الأولى لكل زوج من أزواج [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت معها وتحتوي الثانية على القيم الثانية لكل زوج من تلك الأزواج.
 
 
تحافظ المجموعة المُعادة على ترتيب التكرار الأصلي [[Kotlin/Array|للمصفوفة]]   أو  [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت عبرها، عناصر [[Kotlin/Iterable|المجموعة التكرارية]] المُمرّرة الفريدة ستوضع في النهاية.  
 
 
==البنية العامة==
 
==البنية العامة==
يمكن استدعاء الدالة<code>unzip()‎</code> عبر [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin">
+
يمكن استدعاء الدالة <code>unzip()‎</code> مع [[Kotlin/Array|المصفوفات]] و<nowiki/>[[Kotlin/Iterable|المجموعات التكرارية]]:<syntaxhighlight lang="kotlin">
infix fun <T> Array<out T>.union(other: Iterable<T>): Set<T>  
+
fun <T, R> Array<out Pair<T, R>>.unzip(): Pair<List<T>, List<R>>  
infix fun ByteArray.union(other: Iterable<Byte>): Set<Byte>  
 
infix fun ShortArray.union(
 
    other: Iterable<Short>
 
): Set<Short>
 
infix fun IntArray.union(other: Iterable<Int>): Set<Int>
 
infix fun LongArray.union(other: Iterable<Long>): Set<Long>
 
infix fun FloatArray.union(
 
    other: Iterable<Float>
 
): Set<Float>
 
infix fun DoubleArray.union(
 
    other: Iterable<Double>
 
): Set<Double>  
 
infix fun BooleanArray.union(
 
    other: Iterable<Boolean>
 
): Set<Boolean>
 
infix fun CharArray.union(other: Iterable<Char>): Set<Char>  
 
  
</syntaxhighlight>يمكن استدعاء الدالة<code>unzip()‎</code> عبر  [[Kotlin/Iterable|المجموعات التكرارية]]:<syntaxhighlight lang="kotlin">
+
fun <T, R> Iterable<Pair<T, R>>.unzip(): Pair<List<T>, List<R>>  
infix fun <T> Iterable<T>.union(other: Iterable<T>): Set<T>
 
  
 
</syntaxhighlight>
 
</syntaxhighlight>
==القيمة المُعادة==
+
==القيمة المعادة==
[[Kotlin/Set|مجموعة من النوع Set]] تضم جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]]  التي استُدعيت عبرها و<nowiki/>[[Kotlin/Iterable|المجموعة التكرارية]] المُمرّرة.
+
تعاد قائمتين؛ تحتوي الأولى على القيم الأولى لكل زوج من أزواج [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] المعطاة وتحتوي الثانية على القيم الثانية لكل زوج من تلك الأزواج.
 +
 
 
==أمثلة==
 
==أمثلة==
===استخدام الدالة <code>()unzip</code> مع المصفوفات===
+
استعمال الدالة <code>()unzip</code> لفصل مفاتيح الأزواج عن القيم المرتبطة بها:<syntaxhighlight lang="kotlin">
تعرّف الشيفرة الآتية  <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code>  مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf‎</code>، ثم تعرّف   <nowiki/>[[Kotlin/mutableList|لائحة متغيرة]] باسم <code>mutablelistOf</code>  مكونة من ثلاثة أعداد باستخدام الدالة <code>()mutableListOf</code>، ثم تستخدم الدالة<code>()unzip</code> على <code>array</code> وتمرر <code>mutablelistOf </code> كوسيط، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val array = arrayOf(4, 5, 6, 4, 1, 6)
+
    val array = arrayOf(1 to 'a', 2 to 'b', 3 to 'c')
val mutableList = mutableListOf(1, 2, 3)
+
 
 
+
    println(array.unzip()) // ([1, 2, 3], [a, b, c])
println(array.union(mutableList)) // [4, 5, 6, 1, 2, 3]
+
 
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
==أنظر أيضًا==
+
==انظر أيضًا==
*<code>[[Kotlin/collections/toBooleanArray|toBooleanArray()]]</code>‎ : تعيد [[Kotlin/Array|مصفوفة]] من القيم المنطقية (من النوع <code>BooleanArray</code>) تضم جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة العامة]] (أي من النوع<code>Array<out Boolean>‎</code>) أو <nowiki/>[[Kotlin/collections|المجموعة]]  التي استُدعيت عبرها.
+
*الدالة <code>[[Kotlin/collections/zip|zip()‎]]</code>: تنشئ أزواجًا من عناصر كائنين لها نفس الفهرس، أو تنشئ قيمًا عبر تمرير عناصر لها نفس الفهرس تجلب من كائنين مختلفين إلى دالة معينة. 
*<code>[[Kotlin/collections/toByteArray|toByteArray()]]</code>‎ : تعيد <nowiki/>[[Kotlin/Array|مصفوفة]] من النوع <code>ByteArray</code>تضم جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة العامة]] (أي من النوع <code>Array<Byte></code>) أو <nowiki/>[[Kotlin/collections|المجموعة]]  التي استُدعيت عبرها.
 
*<code>[[Kotlin/collections/toDoubleArray|toDoubleArray()]]</code>‎ : تعيد [[Kotlin/Array|مصفوفة]] من النوع <code>DoubleArray</code>تضم جميع عناصر [[Kotlin/Array|المصفوفة العامة]] (أي من النوع <code>Array<Double>‎</code>) أو  [[Kotlin/collections|المجموعة]]  التي استُدعيت عبرها.
 
 
==مصادر==
 
==مصادر==
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/union.html الدالة  unzip()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/unzip.html صفحة الدالة unzip()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
+
[[تصنيف:Kotlin Function]]
 +
[[تصنيف:Kotlin Collection]]

المراجعة الحالية بتاريخ 11:51، 8 سبتمبر 2018

تعيد الدالة unzip()‎ قائمتين، إذ تحتوي الأولى على القيم الأولى لكل زوج من أزواج المصفوفة أو المجموعة التكرارية التي استُدعيت معها وتحتوي الثانية على القيم الثانية لكل زوج من تلك الأزواج.

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

يمكن استدعاء الدالة unzip()‎ مع المصفوفات والمجموعات التكرارية:

fun <T, R> Array<out Pair<T, R>>.unzip(): Pair<List<T>, List<R>> 

fun <T, R> Iterable<Pair<T, R>>.unzip(): Pair<List<T>, List<R>>

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

تعاد قائمتين؛ تحتوي الأولى على القيم الأولى لكل زوج من أزواج المصفوفة أو المجموعة التكرارية المعطاة وتحتوي الثانية على القيم الثانية لكل زوج من تلك الأزواج.

أمثلة

استعمال الدالة ()unzip لفصل مفاتيح الأزواج عن القيم المرتبطة بها:

fun main(args: Array<String>) {
    val array = arrayOf(1 to 'a', 2 to 'b', 3 to 'c')

    println(array.unzip()) // ([1, 2, 3], [a, b, c])

}

انظر أيضًا

  • الدالة zip()‎: تنشئ أزواجًا من عناصر كائنين لها نفس الفهرس، أو تنشئ قيمًا عبر تمرير عناصر لها نفس الفهرس تجلب من كائنين مختلفين إلى دالة معينة. 

مصادر