الدالة joinToString()‎ في لغة Kotlin

من موسوعة حسوب
< Kotlin‏ | collections
مراجعة 13:30، 29 مايو 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>joinToString()‎</code> في لغة Kotlin}}</noinclude> يخت تجمّع الدالة<code>joinToString()‎</code> K...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

يخت

تجمّع الدالةjoinToString()‎ سلسة نصية من عناصر المصفوفة أو المجموعة التي استُدعيت عبرها مفصولة بالمعامل المُمرّر separator وباستخدام البادئة prefix واللاحقة postfix في حال تمريرهما،

إن كانت المجموعة كبيرة فيمكن تمرير عدد موجب limit، وفي تلك الحالة سيكون عدد العناصر التي تضمّها الدالة joinToString()‎ هو limit إضافة إلى السلسلة النصية truncated التي قيمتها الابتدائية "...".

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

fun <T, A> Array<out T>.joinTo(
    buffer: A, 
    separator: CharSequence = ", ", 
    prefix: CharSequence = "", 
    postfix: CharSequence = "", 
    limit: Int = -1, 
    truncated: CharSequence = "...", 
    transform: (T) -> CharSequence = null
): A
fun <A> ByteArray.joinTo(
    buffer: A, 
    separator: CharSequence = ", ", 
    prefix: CharSequence = "", 
    postfix: CharSequence = "", 
    limit: Int = -1, 
    truncated: CharSequence = "...", 
    transform: (Byte) -> CharSequence = null
): A 
fun <A> ShortArray.joinTo(
    buffer: A, 
    separator: CharSequence = ", ", 
    prefix: CharSequence = "", 
    postfix: CharSequence = "", 
    limit: Int = -1, 
    truncated: CharSequence = "...", 
    transform: (Short) -> CharSequence = null
): A 
fun <A> IntArray.joinTo(
    buffer: A, 
    separator: CharSequence = ", ", 
    prefix: CharSequence = "", 
    postfix: CharSequence = "", 
    limit: Int = -1, 
    truncated: CharSequence = "...", 
    transform: (Int) -> CharSequence = null
): A 
fun <A> LongArray.joinTo(
    buffer: A, 
    separator: CharSequence = ", ", 
    prefix: CharSequence = "", 
    postfix: CharSequence = "", 
    limit: Int = -1, 
    truncated: CharSequence = "...", 
    transform: (Long) -> CharSequence = null
): A 
fun <A> FloatArray.joinTo(
    buffer: A, 
    separator: CharSequence = ", ", 
    prefix: CharSequence = "", 
    postfix: CharSequence = "", 
    limit: Int = -1, 
    truncated: CharSequence = "...", 
    transform: (Float) -> CharSequence = null
): A 
fun <A> DoubleArray.joinTo(
    buffer: A, 
    separator: CharSequence = ", ", 
    prefix: CharSequence = "", 
    postfix: CharSequence = "", 
    limit: Int = -1, 
    truncated: CharSequence = "...", 
    transform: (Double) -> CharSequence = null
): A 
fun <A> BooleanArray.joinTo(
    buffer: A, 
    separator: CharSequence = ", ", 
    prefix: CharSequence = "", 
    postfix: CharSequence = "", 
    limit: Int = -1, 
    truncated: CharSequence = "...", 
    transform: (Boolean) -> CharSequence = null
): A 
fun <A> CharArray.joinTo(
    buffer: A, 
    separator: CharSequence = ", ", 
    prefix: CharSequence = "", 
    postfix: CharSequence = "", 
    limit: Int = -1, 
    truncated: CharSequence = "...", 
    transform: (Char) -> CharSequence = null
): A 
fun <T, A> Iterable<T>.joinTo(
    buffer: A, 
    separator: CharSequence = ", ", 
    prefix: CharSequence = "", 
    postfix: CharSequence = "", 
    limit: Int = -1, 
    truncated: CharSequence = "...", 
    transform: (T) -> CharSequence = null
): A

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

سلسة نصية مكونة من عناصر المصفوفة أو المجموعة التي استُدعيت عبرها مفصولة بالمعامل المُمرّر separator وباستخدام البادئة prefix واللاحقة postfix في حال تمريرهما،

إن كانت المجموعة كبيرة فيمكن تمرير عدد موجب limit، وفي تلك الحالة سيكون عدد العناصر التي تضمّها الدالة joinTo()‎ هو limit إضافة إلى السلسلة النصية truncated التي قيمتها الابتدائية "...".

أمثلة

استخدام الدالة ()joinToString مع اللوائح: الحالة الأولى

تعرف الشيفرة الآتية  سلسة نصية باسم sb باستخدام الدالة ()StringBuilder، ثم تُنشئ لائحة باسم numbers مكونة من ثلاثة أعداد باستخدام الدالة ()listOf، ثم تستخدم الدالة ()joinToString على numbers بتمرير sb وبادئة ولاحقة ، ثم تطبع الناتج:

fun main(args: Array<String>) {
val sb = StringBuilder("An existing string and a list: ")
val numbers = listOf(1, 2, 3)
    
println(numbers.joinTo(sb, prefix = "[", postfix = "]").toString()) // An existing string and a list: [1, 2, 3]
}

استخدام الدالة ()joinToString مع اللوائح: الحالة الثانية

تعرف الشيفرة الآتية  سلسة نصية باسم sb باستخدام الدالة ()StringBuilder، ثم تُنشئ لائحة باسم numbers مكونة من 7أعداد باستخدام الدالة ()listOf، ثم تستخدم الدالة ()joinToString على numbers بتمرير sb ومعامل limit ، ثم تطبع الناتج:

fun main(args: Array<String>) {
val sb = StringBuilder("An existing string and a list: ")
val numbers = listOf(1, 2, 3, 6 , 8, 9, 5)
    
println(numbers.joinTo(sb, limit = 5).toString()) // An existing string and a list: 1, 2, 3, 6, 8, ...
}

انظر أيضًا

joinToString()‎: تنشئ سلسة نصية من عناصر المصفوفة أو المجموعة التي استُدعيت عبرها مفصولة بالمعامل المُمرّر separator وباستخدام البادئة prefix واللاحقة postfix في حال تمريرهما،

مصادر

الدالة joinToString()‎ في التوثيق الرسمي للمكتبة القياسية في لغة Kotlin