الدالة text.chunkedSequence()
في لغة Kotlin
تُقسّم الدالة chunkedSequence()
سلسلة الحروف التي استُدعيت عبرها إلى لوائح تحتوي سلاسل نصية، بحيث لا يتجاوز تعدادها العدد المُمرّر size
.
البنية العامة
fun CharSequence.chunked(size: Int): List<String>
بيئة التشغيل المطلوبة: Kotlin 1.2
تُقسّم الدالة chunkedSequence()
سلسلة الحروف التي استُدعيت عبرها إلى لوائح تحتوي سلاسل نصية، بحيث لا يتجاوز تعدادها العدد المُمرّر size
. مع تطبيق الدالة المُمرّرة transform
على كل منها. اللائحة الأخيرة قد يكون تعدادها أقل من size
.
fun <R> CharSequence.chunked(
size: Int,
transform: (CharSequence) -> R
): List<R>
بيئة التشغيل المطلوبة: Kotlin 1.2
تُقسّم الدالة chunkedSequence()
سلسلة الحروف التي استُدعيت عبرها إلى لوائح تحتوي سلاسل نصية، بحيث لا يتجاوز تعدادها العدد المُمرّر size
.
لاحظ أنّ سلسلة الحروف المُمرّرة إلى الدالة transform
سريعة الزوال (ephemeral)، وهي متاحة فقط داخل الدالة. لذلك لا يجب عليك أن تُخزّنها بأي طريقة، إلا إن أعددت مقتطفًا (snapshot) منها. سلسلة الحروف الأخيرة قد يكون تعدادها أقل من size
.
القيم المعادة
أمثلة
استخدام الدالة ()chunkedSequence
تعرّف الشيفرة الآتية سلسلة نصية باسم words
، ثم تستدعي الدالة ()chunkedSequence
عبرها مع تمرير العدد 3
كوسيط، ثمَّ تطبع الناتج:
fun main(args: Array<String>) {
val words = "one two three four five six seven eight nine ten".split(' ')
val chunks = words.chunked(3)
println(chunks) // [[one, two, three], [four, five, six], [seven, eight, nine], [ten]]
}
انظر أيضًا
associateBy()
: تعيد قاموسًا (map) يحتوي عناصر سلسلة الحروف التي استُدعيت عبرها مفهرسةً بقيمة المفتاح المعاد من تمرير تلك العناصر إلى الدالةkeySelector
.
associateByTo()
: تعيد قاموسا متغيرا (mutable map) يحتوي أزواجًا من "مفتاح/قيمة"، إذ القيمة هي عناصر سلسلة الحروف التي استُدعيت عبرها، والمفتاح هو الناتج المعاد من تمرير تلك العناصر إلى الدالةkeySelector
.asSequence()
: تنشئ كائنًا من الصنفSequence
والذي يُغلّف سلسلة الحروف التي استُدعيت عبرها، لأجل استعمالها في الحلقات التكرارية.