التابع text.zipWithNext()‎ في لغة Kotlin

من موسوعة حسوب
مراجعة 07:17، 14 يوليو 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع text.zipWithNext()‎ في لغة Kotlin}}</noinclude> تعيد الدالة <code>zipWithNext()</code>‎ Kotlin/List|لائح...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تعيد الدالة zipWithNext()لائحة تحتوي كل حروف سلسلة الحروف  التي استٌدعيت عبرها.

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

infix fun CharSequence.zip(
    other: CharSequence
): List<Pair<Char, Char>>

تعيد الدالة zipWithNext()لائحة تحتوي أزواجًا (pairs) مُركّبة من حروف سلسلة الحروف  التي استٌدعيت عبرها ومن حروف السلسلة الأخرى المًمرّرة other التي لها نفس الفهرس، اللائحة المُعادة لها طول أقصر سلسلة حروف.

inline fun <V> CharSequence.zip(
    other: CharSequence, 
    transform: (a: Char, b: Char) -> V
): List<V>

تعيد الدالة zipWithNext()لائحة تحتوي نتائج تطبيق الدالة المُمرّرة transform على حروف سلسلة الحروف  التي استٌدعيت عبرها وعلى حروف السلسلة الأخرى المًمرّرة other التي لها نفس الفهرس، اللائحة المُعادة لها طول أقصر سلسلة حروف.

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

لائحة.

أمثلة

استخدام الدالة zipWithNext()‎ مع السلاسل النصية

تستدعي الشيفرة الآتية الدالة zipWithNext()‎ عبر عدة سلاسل نصية مع تمرير سلسلة نصية كوسيط، وتطبع الناتج:

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)]
}

ستخدام الدالة zipWithNext()‎ مع السلاسل النصية مع تمرير دالة

تستدعي الشيفرة الآتية الدالة zipWithNext()‎ عبر عدة سلاسل نصية مع تمرير سلسلة نصية ودالة كوسيط، وتطبع الناتج:

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).

مصادر