الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/windowedSequence»
لا ملخص تعديل |
ط استبدال النص - 'Kotlin Functions' ب'Kotlin Function' |
||
سطر 58: | سطر 58: | ||
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/windowed-sequence.html الدالة text.windowedSequence() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | *[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/windowed-sequence.html الدالة text.windowedSequence() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin | [[تصنيف:Kotlin Function]] |
مراجعة 11:35، 30 أغسطس 2018
تعيد الدالة windowedSequence()
سلسلة (Sequence) مكونة من سلاسل نصية مُقتطفة من سلسلة الحروف التي استُدعيت عبرها (انظر فقرة البنية العامة).
البنية العامة
fun CharSequence.windowedSequence(
size: Int,
step: Int = 1,
partialWindows: Boolean = false
): Sequence<String>
بيئة التشغيل المطلوبة: Kotlin 1.2
تعيد الدالة windowedSequence()
سلسلة مكونة من سلاسل نصية بطول يساوي size
مُقتطفة من سلسلة الحروف التي استُدعيت عبرها، والتي تقتطفها بالتدرج بحيث تقفز في كل مرة step
حرفا. السلاسل النصية الأخيرة قد يكون طولها أقل من size
.
كلا الوسيطين step
و size
ينبغي أن يكونا موجبين، ويمكن أن يكونا أكبر من طول سلسلة الحروف الأصلية.
الوسيط windowedSequence
يحدد ما إذا كانت الدالة ستعيد السلاسل النصية الجزئية في الأخير، وقيمتها الإفتراضية هي false
.
fun <R> CharSequence.windowedSequence(
size: Int,
step: Int = 1,
partialWindows: Boolean = false,
transform: (CharSequence) -> R
): Sequence<R>
تعيد الدالة windowedSequence()
سلسلة مكونة من نتائج تطبيق الدالة transform
على السلاسل النصية المُقتطفة من سلسلة الحروف التي استُدعيت عبرها والتي طولها يساوي size
وتقتطفها بالتدرج بحيث تقفز في كل مرة step
حرفا. السلاسل النصية الأخيرة قد يكون طولها أقل من size
.
لاحظ أنّ سلسلة الحروف المُمرّرة إلى الدالة transform
سريعة الزوال (ephemeral)، وهي متاحة فقط داخل الدالة. لذلك لا يجب عليك أن تُخزّنها بأي طريقة، إلا إن أعددت مقتطفًا (snapshot) منها.
كلا الوسيطين step
و size
ينبغي أن يكونا موجبين، ويمكن أن يكونا أكبر من طول سلسلة الحروف الأصلية.
الوسيط partialWindows
يحدد ما إذا كانت الدالة ستعيد السلاسل النصية الجزئية في الأخير، وقيمتها الإفتراضية هي false
.
القيم المعادة
سلسلة مكونة من سلاسل نصية.
أمثلة
استخدام الدالة ()windowedSequence
مع سلسلة نصية
تستدعي الشيفرة الآتية الدالة ()windowedSequence
عبر عدة سلاسل نصية وتمرر إليها عددين كوسيطين، وتطبع الناتج:
fun main(args: Array<String>) {
println("wiki.hsoub.com".windowedSequence(size = 5, step = 1).toList()) // [wiki., iki.h, ki.hs, i.hso, .hsou, hsoub, soub., oub.c, ub.co, b.com]
println("wiki.hsoub.com".windowedSequence(size = 5, step = 3).toList()) // [wiki., i.hso, soub., b.com]
}
استخدام الدالة ()windowedSequence
مع سلسلة نصية مع تمرير دالة
تستدعي الشيفرة الآتية الدالة ()windowedSequence
عبر عدة سلاسل نصية وتمرر إليها عددين ودالة كوسائط، وتطبع الناتج
fun main(args: Array<String>) {
println("wiki.hsoub.com".windowedSequence(size = 5, step = 1) {it.first()}.toList() ) // [w, i, k, i, ., h, s, o, u, b]
println("wiki.hsoub.com".windowedSequence(size = 5, step = 3) {it.first()}.toList() ) // [w, i, s, b]
}
انظر أيضًا
trim()
: تعيد الدالةtrim()
جزءًا من سلسلة الحروف أو السلسلة النصية التي استُدعيت عبرها بعد حذف الأحرف الأولى والأخيرالتي تحقق الشرط المنطقي المُحدّدpredicate.
substringAfter()
: تعيد الدالةsubstringAfter()
جزءًا من السلسلة النصية التي استُدعيت عبرها والمُتواجد بعد أول ظهور للمُحدِّدdelimiter،
إن لم تكن السلسلة النصية الأصلية تحتويdelimiter
، فستعيد القيمة المُمرّرةmissingDelimiterValue
، والتي قيمتها الافتراضية هي السلسلة النصية الأصلية.substringBefore()
: تعيد الدالةsubstringBefore()
جزءًا من السلسلة النصية التي استُدعيت عبرها والمُتواجد قبل أول ظهور للمُحدِّدdelimiter،
إن لم تكن السلسلة النصية الأصلية تحتويdelimiter
، فستعيد القيمة المُمرّرةmissingDelimiterValue
، والتي قيمتها الافتراضية هي السلسلة النصية الأصلية.
removeSuffix()
: إن كانت السلسلة النصية أو سلسلة الحروف التي استٌدعيت عبرها الدالةremoveSuffix()
تنتهي باللاحقةsuffix
فستعيد سلسلة نصية أو سلسلة حروف جديدة مع حذف تلك اللاحقة، وإلا فستعيد السلسلة النصية أو سلسلة الحروف كما هي.slice()
: تعيد الدالةslice()
سلسلة حروف أو سلسلة نصية جديدة تحتوي الحروف التي تنتمي فهارسها إلى الوسيط المُمرر.