الدالة asSequence()
في لغة Kotlin
تُنشئ الدالة asSequence()
نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل for
).
البنية العامة
في حال استدعاء الدالة asSequence()
عبر مصفوفة فستعيد نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة التي استُدعيت عبرها وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل for
):
fun <T> Array<out T>.asIterable(): Iterable<T>
fun ByteArray.asIterable(): Iterable<Byte>
fun ShortArray.asIterable(): Iterable<Short>
fun IntArray.asIterable(): Iterable<Int>
fun LongArray.asIterable(): Iterable<Long>
fun FloatArray.asIterable(): Iterable<Float>
fun DoubleArray.asIterable(): Iterable<Double>
fun BooleanArray.asIterable(): Iterable<Boolean>
fun CharArray.asIterable(): Iterable<Char>
يمكن استدعاء الدالة asSequence()
عبر مجموعة (collection) وستُعيدها على شكل مُكرّر (iterable):
inline fun <T> Iterable<T>.asIterable(): Iterable<T>
يمكن استدعاء الدالة asSequence()
عبر قاموس (Map) وستعيد نسخة تكرارية (Iterable instance) والتي تُغلّف القاموس الاصلي وتعيد مداخله (entries) عندما تُستخدم في حلقات التكرار (مثل for
)::
inline fun <K, V> Map<out K, V>.asIterable(): Iterable<Entry<K, V>>
يُلاحَظ وجود الكلمة المفتاحية inline
للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).
القيم المعادة
نسخة تكرارية (Iterable instance). (انظر شرح الدالة أعلاه لمزيد من التفاصيل)
أمثلة
استخدام الدالة ()asSequence
مع المصفوفات
تعرف الشيفرة الآتية مصفوفة باسم array
مكونة من أربعة أعداد باستخدام الدالة ()arrayOf
، ثم تنشئ مُكرّرا باسم iter
باستخدام الدالة ()asSequence
ثم تستخدم ذلك المكرر في حلقة تكرارية for
:
fun main(args: Array<String>) {
val array = arrayOf(6,7,8,9) // انشاء مصفوفة
val iter = array.asIterable() // انشاء مكرر
for (i in iter) print(i) // 6789
}
انظر أيضًا
asList()
: تعيد لائحة والتي تُغلّف المصفوفة الاصلية.asSequence()
: تعيد نسخة من النوع Sequence والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تطبق تستخدم في حلقات التكرار (مثلfor
).
مصادر