الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/chunked»

من موسوعة حسوب
لا ملخص تعديل
لا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>text.chunked()‎</code> في لغة Kotlin}}</noinclude>
تُقسّم الدالة <code>chunked()‎</code> [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها إلى لوائح تحتوي [[Kotlin/String|سلاسل نصية]]، بحيث لا يتجاوز تعدادها العدد المُمرّر <code>size</code>.
تُقسّم الدالة <code>chunked()‎</code> [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها إلى لوائح تحتوي [[Kotlin/String|سلاسل نصية]]، بحيث لا يتجاوز تعدادها العدد المُمرّر <code>size</code>.  
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
سطر 7: سطر 6:
</syntaxhighlight>'''بيئة التشغيل المطلوبة: Kotlin 1.2'''
</syntaxhighlight>'''بيئة التشغيل المطلوبة: Kotlin 1.2'''


تُقسّم الدالة <code>chunked()‎</code> [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها إلى لوائح تحتوي [[Kotlin/String|سلاسل نصية]]، بحيث لا يتجاوز تعدادها العدد المُمرّر <code>size</code>. مع تطبيق الدالة المُمرّرة <code>transform</code> على كل منها. اللائحة الأخيرة قد يكون تعدادها أقل من <code>size</code>.<syntaxhighlight lang="kotlin">
تُقسّم الدالة <code>chunked()‎</code> [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها إلى لوائح تحتوي [[Kotlin/String|سلاسل نصية]]، بحيث لا يتجاوز تعدادها العدد المُمرّر <code>size</code>. اللائحة الأخيرة قد يكون تعدادها أقل من <code>size</code>.<syntaxhighlight lang="kotlin">
fun <R> CharSequence.chunked(
fun <R> CharSequence.chunked(
     size: Int,  
     size: Int,  
سطر 14: سطر 13:
</syntaxhighlight>'''بيئة التشغيل المطلوبة: Kotlin 1.2'''
</syntaxhighlight>'''بيئة التشغيل المطلوبة: Kotlin 1.2'''


تُقسّم الدالة <code>chunked()‎</code> [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها إلى لوائح تحتوي [[Kotlin/String|سلاسل نصية]]، بحيث لا يتجاوز تعدادها العدد المُمرّر <code>size</code>.
تُقسّم الدالة <code>chunked()‎</code> [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها إلى لوائح تحتوي [[Kotlin/String|سلاسل نصية]]، بحيث لا يتجاوز تعدادها العدد المُمرّر <code>size</code>. مع تطبيق الدالة المُمرّرة <code>transform</code> على كل منها.


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


*<code>[[Kotlin/kotlin.text/associateByTo|associateByTo()]]‎</code>: تعيد قاموسا متغيرا (mutable map) يحتوي أزواجًا من "مفتاح/قيمة"، إذ القيمة هي عناصر سلسلة الحروف التي استُدعيت عبرها، والمفتاح هو الناتج المعاد من تمرير تلك العناصر إلى الدالة <code>keySelector</code>. 
*<code>[[Kotlin/kotlin.text/asSequence|asSequence()]]‎</code>: تنشئ كائنًا من الصنف <code>Sequence</code> والذي يُغلّف سلسلة الحروف التي استُدعيت عبرها، لأجل استعمالها في الحلقات التكرارية.
==مصادر==
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/chunked.html الدالة text.chunked()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/chunked.html الدالة text.chunked()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Functions]]

مراجعة 22:20، 7 يوليو 2018

تُقسّم الدالة chunked()‎ سلسلة الحروف التي استُدعيت عبرها إلى لوائح تحتوي سلاسل نصية، بحيث لا يتجاوز تعدادها العدد المُمرّر size.

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

fun CharSequence.chunked(size: Int): List<String>

بيئة التشغيل المطلوبة: Kotlin 1.2 تُقسّم الدالة chunked()‎ سلسلة الحروف التي استُدعيت عبرها إلى لوائح تحتوي سلاسل نصية، بحيث لا يتجاوز تعدادها العدد المُمرّر size. اللائحة الأخيرة قد يكون تعدادها أقل من size.

fun <R> CharSequence.chunked(
    size: Int, 
    transform: (CharSequence) -> R
): List<R>

بيئة التشغيل المطلوبة: Kotlin 1.2

تُقسّم الدالة chunked()‎ سلسلة الحروف التي استُدعيت عبرها إلى لوائح تحتوي سلاسل نصية، بحيث لا يتجاوز تعدادها العدد المُمرّر size. مع تطبيق الدالة المُمرّرة transform على كل منها.

لاحظ أنّ سلسلة الحروف المُمرّرة إلى الدالة transform سريعة الزوال (ephemeral)، وهي متاحة فقط داخل الدالة. لذلك لا يجب عليك أن تُخزّنها بأي طريقة، إلا إن أعددت مقتطفًا (snapshot) منها. سلسلة الحروف الأخيرة قد يكون تعدادها أقل من size.

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

لائحة.

أمثلة

استخدام الدالة ()chunked

تعرّف الشيفرة الآتية سلسلة نصية باسم words، ثم تستدعي الدالة ()chunked عبرها مع تمرير العدد 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 والذي يُغلّف سلسلة الحروف التي استُدعيت عبرها، لأجل استعمالها في الحلقات التكرارية.

مصادر