الفرق بين المراجعتين لصفحة: «Kotlin/collections/asSequence»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>asSequence()</code> في لغة Kotlin}}</noinclude>تُنشئ الدالة <code>asSequence()</code>نسخة تكر...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>asSequence()</code> في لغة Kotlin}}</noinclude>تُنشئ الدالة <code>asSequence()</code>نسخة | <noinclude>{{DISPLAYTITLE: الدالة <code>asSequence()</code> في لغة Kotlin}}</noinclude>تُنشئ الدالة <code>asSequence()</code> نسخة من الواجهة <code>Sequence</code> والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>). | ||
==البنية العامة== | ==البنية العامة== | ||
في حال استدعاء الدالة <code>asSequence()</code>عبر مصفوفة فستعيد نسخة | في حال استدعاء الدالة <code>asSequence()</code>عبر مصفوفة فستعيد نسخة من الواجهة <code>Sequence</code> والتي تُغلّف المصفوفة التي استُدعيت عبرها وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>):<syntaxhighlight lang="kotlin"> | ||
fun <T> Array<out T>. | fun <T> Array<out T>.asSequence(): Sequence<T> | ||
fun ByteArray. | fun ByteArray.asSequence(): Sequence<Byte> | ||
fun ShortArray. | fun ShortArray.asSequence(): Sequence<Short> | ||
fun IntArray. | fun IntArray.asSequence(): Sequence<Int> | ||
fun LongArray. | fun LongArray.asSequence(): Sequence<Long> | ||
fun FloatArray. | fun FloatArray.asSequence(): Sequence<Float> | ||
fun DoubleArray. | fun DoubleArray.asSequence(): Sequence<Double> | ||
fun BooleanArray. | fun BooleanArray.asSequence(): Sequence<Boolean> | ||
fun CharArray. | fun CharArray.asSequence(): Sequence<Char> | ||
</syntaxhighlight>يمكن استدعاء الدالة <code>asSequence()</code>عبر مجموعة ( | </syntaxhighlight>يمكن استدعاء الدالة <code>asSequence()</code>عبر مجموعة ([[Kotlin/collections|Collection]]) وستعيد نسخة من الواجهة <code>Sequence</code> والتي تُغلّف المجموعة التي استُدعيت عبرها وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>):<syntaxhighlight lang="kotlin"> | ||
fun <T> Iterable<T>.asSequence(): Sequence<T> | |||
</syntaxhighlight>يمكن استدعاء الدالة <code>asSequence()</code>عبر قاموس ([[kotln/map|Map]]) وستعيد نسخة من الواجهة <code>Sequence</code> والتي تُغلّف القاموس الذي استُدعيت عبره وتعيد مداخله (entries) عندما تُستخدم في حلقات التكرار (مثل <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>):<syntaxhighlight lang="kotlin"> | |||
</syntaxhighlight>يمكن استدعاء الدالة <code>asSequence()</code>عبر قاموس (Map) وستعيد نسخة | fun <K, V> Map<out K, V>.asSequence(): Sequence<Entry<K, V>> | ||
</syntaxhighlight> | |||
</syntaxhighlight> | |||
==القيم المعادة== | ==القيم المعادة== | ||
نسخة | نسخة من الواجهة <code>Sequence</code>. (انظر شرح الدالة أعلاه لمزيد من التفاصيل) | ||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>()asSequence</code> مع المصفوفات=== | ===استخدام الدالة <code>()asSequence</code> مع المصفوفات=== | ||
تعرف الشيفرة الآتية مصفوفة باسم <code>array</code> مكونة من | تعرف الشيفرة الآتية مصفوفة باسم <code>array</code> مكونة من ثلاثة أحرف باستخدام الدالة <code>()arrayOf</code>، ثم تنشئ نسخة من النوع <code>Sequence</code> باسم <code>sequence</code> باستخدام الدالة <code>()asSequence</code>ثم تضم عناصر <code>sequence</code> عبر الدالة <code>[[Kotlin/collections/joinToString|joinToString()]]</code> ثم تطبع الناتج:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | |||
val array = arrayOf('a', 'b', 'c') | |||
val sequence = array.asSequence() | |||
println(sequence.joinToString()) // a, b, c | |||
} | |||
</syntaxhighlight> | |||
===استخدام الدالة <code>()asSequence</code> مع اللوائح=== | |||
تعرف الشيفرة الآتية لائحة باسم <code>collection</code> مكونة من ثلاثة أحرف باستخدام الدالة <code>()listOf</code>، ثم تنشئ نسخة من النوع <code>Sequence</code> باسم <code>sequence</code> باستخدام الدالة <code>()asSequence</code>ثم تضم عناصر <code>sequence</code> عبر الدالة <code>[[Kotlin/collections/joinToString|joinToString()]]</code> ثم تطبع الناتج:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val | val collection = listOf('a', 'b', 'c') | ||
val | val sequence = collection.asSequence() | ||
println(sequence.joinToString()) // a, b, c | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
*<code>[[Kotlin/collections/asList|asList()]]</code>: تعيد لائحة والتي تُغلّف المصفوفة الاصلية. | *<code>[[Kotlin/collections/asList|asList()]]</code>: تعيد لائحة والتي تُغلّف المصفوفة الاصلية. | ||
*<code>[[Kotlin/collections/ | |||
* <code>[[Kotlin/collections/asIterable|asIterable()]]</code>: تُنشئ نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل<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- | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/as-sequence.html الدالة asSequence() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 14:49، 10 مايو 2018
تُنشئ الدالة asSequence()
نسخة من الواجهة Sequence
والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل for
).
البنية العامة
في حال استدعاء الدالة asSequence()
عبر مصفوفة فستعيد نسخة من الواجهة Sequence
والتي تُغلّف المصفوفة التي استُدعيت عبرها وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل for
):
fun <T> Array<out T>.asSequence(): Sequence<T>
fun ByteArray.asSequence(): Sequence<Byte>
fun ShortArray.asSequence(): Sequence<Short>
fun IntArray.asSequence(): Sequence<Int>
fun LongArray.asSequence(): Sequence<Long>
fun FloatArray.asSequence(): Sequence<Float>
fun DoubleArray.asSequence(): Sequence<Double>
fun BooleanArray.asSequence(): Sequence<Boolean>
fun CharArray.asSequence(): Sequence<Char>
يمكن استدعاء الدالة asSequence()
عبر مجموعة (Collection) وستعيد نسخة من الواجهة Sequence
والتي تُغلّف المجموعة التي استُدعيت عبرها وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثل for
):
fun <T> Iterable<T>.asSequence(): Sequence<T>
يمكن استدعاء الدالة asSequence()
عبر قاموس (Map) وستعيد نسخة من الواجهة Sequence
والتي تُغلّف القاموس الذي استُدعيت عبره وتعيد مداخله (entries) عندما تُستخدم في حلقات التكرار (مثل for
):
fun <K, V> Map<out K, V>.asSequence(): Sequence<Entry<K, V>>
القيم المعادة
نسخة من الواجهة Sequence
. (انظر شرح الدالة أعلاه لمزيد من التفاصيل)
أمثلة
استخدام الدالة ()asSequence
مع المصفوفات
تعرف الشيفرة الآتية مصفوفة باسم array
مكونة من ثلاثة أحرف باستخدام الدالة ()arrayOf
، ثم تنشئ نسخة من النوع Sequence
باسم sequence
باستخدام الدالة ()asSequence
ثم تضم عناصر sequence
عبر الدالة joinToString()
ثم تطبع الناتج:
fun main(args: Array<String>) {
val array = arrayOf('a', 'b', 'c')
val sequence = array.asSequence()
println(sequence.joinToString()) // a, b, c
}
استخدام الدالة ()asSequence
مع اللوائح
تعرف الشيفرة الآتية لائحة باسم collection
مكونة من ثلاثة أحرف باستخدام الدالة ()listOf
، ثم تنشئ نسخة من النوع Sequence
باسم sequence
باستخدام الدالة ()asSequence
ثم تضم عناصر sequence
عبر الدالة joinToString()
ثم تطبع الناتج:
fun main(args: Array<String>) {
val collection = listOf('a', 'b', 'c')
val sequence = collection.asSequence()
println(sequence.joinToString()) // a, b, c
}
انظر أيضًا
asList()
: تعيد لائحة والتي تُغلّف المصفوفة الاصلية.
asIterable()
: تُنشئ نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثلfor
).
مصادر