التابع text.zip() في لغة Kotlin
< Kotlin | kotlin.text
تعيد الدالة zip()
لائحة تحتوي كل حروف سلسلة الحروف التي استٌدعيت عبرها.
البنية العامة
infix fun CharSequence.zip(
other: CharSequence
): List<Pair<Char, Char>>
تعيد الدالة zip()
لائحة تحتوي أزواجًا (pairs) مُركّبة من حروف سلسلة الحروف التي استٌدعيت عبرها ومن حروف السلسلة الأخرى المًمرّرة other
التي لها نفس الفهرس، اللائحة المُعادة لها طول أقصر سلسلة حروف.
inline fun <V> CharSequence.zip(
other: CharSequence,
transform: (a: Char, b: Char) -> V
): List<V>
تعيد الدالة zip()
لائحة تحتوي نتائج تطبيق الدالة المُمرّرة transform
على حروف سلسلة الحروف التي استٌدعيت عبرها وعلى حروف السلسلة الأخرى المًمرّرة other
التي لها نفس الفهرس، اللائحة المُعادة لها طول أقصر سلسلة حروف.
القيم المعادة
أمثلة
استخدام الدالة zip()
مع السلاسل النصية
تستدعي الشيفرة الآتية الدالة zip()
عبر عدة سلاسل نصية مع تمرير سلسلة نصية كوسيط، وتطبع الناتج:
fun main(args: Array<String>) {
println("hsoub".zip("12345")) // [(h, 1), (s, 2), (o, 3), (u, 4), (b, 5)]
println("hsoub".zip("12")) // [(h, 1), (s, 2)]
println("hsoub" zip "HSOUB") // [(h, H), (s, S), (o, O), (u, U), (b, B)]
}
ستخدام الدالة zip()
مع السلاسل النصية مع تمرير دالة
تستدعي الشيفرة الآتية الدالة zip()
عبر عدة سلاسل نصية مع تمرير سلسلة نصية ودالة كوسيط، وتطبع الناتج:
fun main(args: Array<String>) {
println("hsoub".zip("12345") {x, y -> listOf(x,y) }) // [[h, 1], [s, 2], [o, 3], [u, 4], [b, 5]]
println("hsoub".zip("wiki") {x, y -> if (x > y) x else y }) // [w, s, o, u]
}
انظر أيضًا
toDouble()
: تحلّل الدالةtoDouble()
السلسلة النصية التي استٌدعيت عبرها وتحوّلها إلى عدد من النوعDouble
وتعيد الناتج.
toUpperCase()
: تحوّل الدالةtoUpperCase()
الحرف أو السلسلة النصية التي استٌدعيت عبرها إلى حالة الأحرف الكبيرة (uppercase).toBigDecimal()
: تحلّل الدالةtoBigDecimal()
السلسلة النصية التي استٌدعيت عبرها وتحوّلها إلى عدد من النوعBigDecimal
.
isDefined()
: تعيد القيمةtrue
في حال كان الحرف (Unicode code point) الذي استٌدعيت عبره مُعرّفًا في اليونيكود (Unicode).
مصادر