الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/chunked»
جميل-بيلوني (نقاش | مساهمات) لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) مراجعة وتدقيق. |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code> | <noinclude>{{DISPLAYTITLE: الدالة <code>CharSequence.chunked()</code> في Kotlin}}</noinclude> | ||
تقطِّع الدالة <code>chunked()</code> [[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها إلى عدة أجزاء لا يتجاوز كل منها حجمًا معينًا | تقطِّع الدالة <code>chunked()</code> [[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها إلى عدة أجزاء لا يتجاوز كل منها حجمًا معينًا وتعيدها في [[Kotlin/collections/List|قائمة]] أو تطبِّق دالة معينة على كل منها وتضع الناتج الذي تعيده هذه الدالة في [[Kotlin/collections/List|قائمة]]. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
سطر 33: | سطر 33: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
*<code>[[Kotlin/kotlin.text/ | *الدالة <code>[[Kotlin/kotlin.text/chunkedSequence|chunkedSequence()]]</code>: تقطِّع [[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها إلى عدة أجزاء لا يتجاوز كل منها حجمًا معينًا وتعيدها في [[Kotlin/sequences/Sequence|سلسلة]] أو تطبِّق دالة معينة على كل منها وتضع الناتج الذي تعيده هذه الدالة في [[Kotlin/sequences/Sequence|سلسلة]]. | ||
*الدالة <code>[[Kotlin/kotlin.text/asSequence|asSequence()]]</code>: تنشئ نسخةً من الواجهة <code>[[Kotlin/sequences/Sequence|Sequence]]</code> التي تغلّف <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي استُدعيت معها لأجل استعمالها في الحلقات التكرارية، إذ تعيد كل محرف من محارفها عندما تُستخدَم في حلقات التكرار (مثل حلقة <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code>). | |||
*<code>[[Kotlin/kotlin.text/asSequence|asSequence()]]</code>: تنشئ | |||
==مصادر== | ==مصادر== | ||
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/chunked.html صفحة الدالة CharSequence.chunked() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | *[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/chunked.html صفحة الدالة CharSequence.chunked() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Function]] | [[تصنيف:Kotlin Function]] | ||
[[تصنيف:Kotlin Text]] | |||
[[تصنيف:Kotlin CharSequence]] |
مراجعة 10:24، 2 سبتمبر 2018
تقطِّع الدالة chunked()
سلسلة المحارف التي استُدعيت معها إلى عدة أجزاء لا يتجاوز كل منها حجمًا معينًا وتعيدها في قائمة أو تطبِّق دالة معينة على كل منها وتضع الناتج الذي تعيده هذه الدالة في قائمة.
البنية العامة
fun CharSequence.chunked(size: Int): List<String>
fun <R> CharSequence.chunked(
size: Int,
transform: (CharSequence) -> R
): List<R>
بيئة التشغيل المطلوبة: Kotlin 1.2.
المعاملات
size
عدد صحيح يمثل عدد العناصر المراد اقتطاعها ووضعها في كل سلسلة نصية. يجب أن يكون هذا العدد موجبًا، ويمكن أن يكون أكبر من عدد عناصر سلسلة المحارف المعطاة. يكون غالبًا حجم الجزء الأخير المقتطع أصغر من القيمة size
.
transform
دالةٌ يراد تطبيقها على كل جزء مقتطع من سلسلة المحارف المعطاة.
لاحظ أنّ سلسلة المحارف المُمرّرة إلى الدالة transform
سريعة الزوال (ephemeral)، وهي متاحة فقط داخل الدالة. بناءً على ذلك، لا يجب أن تُخزَّن بأي طريقة إلا إن أنشأت مقتطفًا (snapshot) منها.
القيم المعادة
تعاد قائمة تحوي جميع الأجزاء المقتطعة من سلسلة المحارف المعطاة التي لا يتجاوز حجمها القيمة size
أو تحوي ناتج تطبيق الدالة transform
على كل جزء من تلك الأجزاء المقتطعة التي لا يتجاوز حجمها القيمة size
.
أمثلة
مثالٌ على استعمال الدالة ()chunked
:
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]]
}
انظر أيضًا
- الدالة
chunkedSequence()
: تقطِّع سلسلة المحارف التي استُدعيت معها إلى عدة أجزاء لا يتجاوز كل منها حجمًا معينًا وتعيدها في سلسلة أو تطبِّق دالة معينة على كل منها وتضع الناتج الذي تعيده هذه الدالة في سلسلة. - الدالة
asSequence()
: تنشئ نسخةً من الواجهةSequence
التي تغلّف سلسلة المحارف التي استُدعيت معها لأجل استعمالها في الحلقات التكرارية، إذ تعيد كل محرف من محارفها عندما تُستخدَم في حلقات التكرار (مثل حلقةfor
).