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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط
 
(3 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>unzip()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>unzip()‎</code> في Kotlin}}</noinclude>
تعيد الدالة<code>unzip()‎</code> [[Kotlin/Pair|زوجًا]] مكونًا من [[Kotlin/List|لائحتين]]، حيث [[Kotlin/List|اللائحة]] الأولي مكونة من العناصر الأولى من كل زوج من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]]  التي استُدعيت عبرها،  و<nowiki/>[[Kotlin/List|اللائحة]] الثانية مكونة من العناصر الثانية من كل زوج من [[Kotlin/Array|المصفوفة]]  أو  [[Kotlin/Iterable|المجموعة التكرارية]]  التي استُدعيت عبرها<nowiki/>.
+
<nowiki/><nowiki/>تعيد الدالة <code>unzip()‎</code> قائمتين، إذ تحتوي الأولى على القيم الأولى لكل زوج من أزواج [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت معها وتحتوي الثانية على القيم الثانية لكل زوج من تلك الأزواج.
 
==البنية العامة==
 
==البنية العامة==
يمكن استدعاء الدالة<code>unzip()‎</code> عبر [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin">
+
يمكن استدعاء الدالة <code>unzip()‎</code> مع [[Kotlin/Array|المصفوفات]] و<nowiki/>[[Kotlin/Iterable|المجموعات التكرارية]]:<syntaxhighlight lang="kotlin">
 
fun <T, R> Array<out Pair<T, R>>.unzip(): Pair<List<T>, List<R>>  
 
fun <T, R> Array<out Pair<T, R>>.unzip(): Pair<List<T>, List<R>>  
  
</syntaxhighlight>يمكن استدعاء الدالة<code>unzip()‎</code>  عبر  [[Kotlin/Iterable|المجموعات التكرارية]]:<syntaxhighlight lang="kotlin">
 
 
fun <T, R> Iterable<Pair<T, R>>.unzip(): Pair<List<T>, List<R>>  
 
fun <T, R> Iterable<Pair<T, R>>.unzip(): Pair<List<T>, List<R>>  
  
 
</syntaxhighlight>
 
</syntaxhighlight>
==القيمة المُعادة==
+
==القيمة المعادة==
[[Kotlin/Pair|زوج]] مكون من [[Kotlin/List|لائحتين]]، حيث [[Kotlin/List|اللائحة]] الأولي مكونة من العناصر الأولى من كل زوج من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]]  التي استُدعيت عبرها،  و<nowiki/>[[Kotlin/List|اللائحة]] الثانية مكونة من العناصر الثانية من كل زوج من [[Kotlin/Array|المصفوفة]] أو [[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()‎: تنشئ أزواجًا من عناصر كائنين لها نفس الفهرس، أو تنشئ قيمًا عبر تمرير عناصر لها نفس الفهرس تجلب من كائنين مختلفين إلى دالة معينة. 

مصادر