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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط
 
(3 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>asList()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>asList()‎</code> في Kotlin}}</noinclude>
تُنشئ الدالة <code>asList()‎</code>نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>).
+
تُعيد الدالة <code>asList()‎</code> قائمةً (list) تُغلّف المصفوفة الأصلية التي استُدعيت عبرها.
 
==البنية العامة==
 
==البنية العامة==
في حال استدعاء الدالة <code>asList()‎</code>عبر مصفوفة فستعيد نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة التي استُدعيت عبرها وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>):<syntaxhighlight lang="kotlin">
+
تختلف بحسب نوع المصفوفة:<syntaxhighlight lang="kotlin">
fun <T> Array<out T>.asIterable(): Iterable<T>
+
fun <T> Array<out T>.asList(): List<T>
fun ByteArray.asIterable(): Iterable<Byte>  
+
fun ByteArray.asList(): List<Byte>  
fun ShortArray.asIterable(): Iterable<Short>  
+
fun ShortArray.asList(): List<Short>  
fun IntArray.asIterable(): Iterable<Int>  
+
fun IntArray.asList(): List<Int>  
fun LongArray.asIterable(): Iterable<Long>
+
fun LongArray.asList(): List<Long>  
fun FloatArray.asIterable(): Iterable<Float>  
+
fun FloatArray.asList(): List<Float>  
fun DoubleArray.asIterable(): Iterable<Double>  
+
fun DoubleArray.asList(): List<Double>  
fun BooleanArray.asIterable(): Iterable<Boolean>  
+
fun BooleanArray.asList(): List<Boolean>  
fun CharArray.asIterable(): Iterable<Char>  
+
fun CharArray.asList(): List<Char>
</syntaxhighlight>يمكن استدعاء الدالة <code>asIterable()‎</code>عبر مجموعة (collection) وستُعيدها على شكل مُكرّر (iterable):<syntaxhighlight lang="kotlin">
+
</syntaxhighlight>
inline fun <T> Iterable<T>.asIterable(): Iterable<T>
 
 
 
</syntaxhighlight>يمكن استدعاء الدالة <code>asIterable()‎</code>عبر قاموس (Map) وستعيد نسخة تكرارية (Iterable instance) والتي تُغلّف القاموس الاصلي وتعيد مداخله (entries) عندما تُستخدم في حلقات التكرار (مثل <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>)::<syntaxhighlight lang="kotlin">
 
inline fun <K, V> Map<out K, V>.asIterable(): Iterable<Entry<K, V>>
 
 
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع [[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
 
 
==القيم المعادة==
 
==القيم المعادة==
نسخة تكرارية (Iterable instance). (انظر شرح الدالة أعلاه لمزيد من التفاصيل)
+
قائمة (list) تُغلّف المصفوفة الأصلية التي استُدعيت عبرها.
 
==أمثلة==
 
==أمثلة==
===استخدام الدالة <code>()asIterable</code> مع المصفوفات===
+
تعرِّف الشيفرة الآتية مصفوفةً باسم <code>array</code> مكوَّنة من حرفين باستخدام الدالة <code>()arrayOf</code>، ثم تنشئ قائمةً باسم <code>list</code> من المصفوفة <code>array</code> وذلك باستخدام الدالة <code>()asList</code> ثم تطبع تلك القائمة:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية مصفوفة باسم <code>array</code> مكونة من أربعة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تنشئ مُكرّرا باسم <code>iter</code> باستخدام الدالة <code>()asIterable</code>ثم تستخدم ذلك المكرر في حلقة تكرارية <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>:<syntaxhighlight lang="kotlin">
 
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val array = arrayOf(6,7,8,9) // انشاء مصفوفة
+
    val array = arrayOf("a", "b")
val iter = array.asIterable() // انشاء مكرر
+
    val list = array.asList()
+
 
for (i in iter) print(i) // 6789
+
    println(list) // [a, b]
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
*<code>[[Kotlin/collections/asList|asList()]]</code>‎: تعيد لائحة والتي تُغلّف المصفوفة الاصلية.
+
*الدالة <code>[[Kotlin/collections/asIterable|asIterable()]]</code>‎: تُعيد نسخةً تكراريّةً (iterable instance) تُغلّف (wrap) المصفوفة الأصلية وتعيد عناصرَها عندما تُستخدَم في حلقات التكرار (مثل <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>).
*<code>[[Kotlin/collections/asSequence|asSequence()]]</code>‎: تعيد نسخة من النوع Sequence  والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تطبق تستخدم في حلقات التكرار (مثل <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>).
+
*الدالة <code>[[Kotlin/collections/asSequence|asSequence()]]</code>‎: تعيد نسخةً من النوع <code>sequence</code> والتي تُغلّف المصفوفة الأصليّة وتعيد عناصرها عندما تُستخدَم في حلقات التكرار (مثل حلقة <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>).
==مصادر==
+
==مصادر<span> </span>==
<span> </span>
+
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/as-list.html صفحة الدالة ()asList‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/as-iterable.html الدالة  asIterable()في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
+
[[تصنيف:Kotlin Function]]
 +
[[تصنيف:Kotlin Collection]]

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

تُعيد الدالة asList()‎ قائمةً (list) تُغلّف المصفوفة الأصلية التي استُدعيت عبرها.

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

تختلف بحسب نوع المصفوفة:

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

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

قائمة (list) تُغلّف المصفوفة الأصلية التي استُدعيت عبرها.

أمثلة

تعرِّف الشيفرة الآتية مصفوفةً باسم array مكوَّنة من حرفين باستخدام الدالة ()arrayOf، ثم تنشئ قائمةً باسم list من المصفوفة array وذلك باستخدام الدالة ()asList ثم تطبع تلك القائمة:

fun main(args: Array<String>) {
    val array = arrayOf("a", "b")
    val list = array.asList()

    println(list) // [a, b]
}

انظر أيضًا

  • الدالة asIterable()‎: تُعيد نسخةً تكراريّةً (iterable instance) تُغلّف (wrap) المصفوفة الأصلية وتعيد عناصرَها عندما تُستخدَم في حلقات التكرار (مثل for).
  • الدالة asSequence()‎: تعيد نسخةً من النوع sequence والتي تُغلّف المصفوفة الأصليّة وتعيد عناصرها عندما تُستخدَم في حلقات التكرار (مثل حلقة for).

مصادر