الدالة joinToString()
في Kotlin
تضيف الدالة joinToString()
بادئة ولاحقة إلى جميع عناصر المصفوفة أو المجموعة التي استُدعيت معها (أو جزءٍ منها) بعد فصل عناصرها بفاصلة معينة ثمَّ تضع الناتج في سلسة نصية جديدة تنشئها آنذاك.
إن كانت المجموعة كبيرة، فيمكن تحديد جزءٍ أولي معين منها فقط لإضافته إلى السلسلة النصية؛ في هذه الحالة، تضاف سلسلة نصية معيَّنة، مثل "..." أو "...إلخ" إلى السلسلة النصية الناتجة للدلالة على وجود جزءٍ مقتطعٍ.
البنية العامة
fun <T> Array<out T>.joinToString(
separator: CharSequence = ", ",
prefix: CharSequence = "",
postfix: CharSequence = "",
limit: Int = -1,
truncated: CharSequence = "...",
transform: (T) -> CharSequence = null
): String
fun ByteArray.joinToString(
separator: CharSequence = ", ",
prefix: CharSequence = "",
postfix: CharSequence = "",
limit: Int = -1,
truncated: CharSequence = "...",
transform: (Byte) -> CharSequence = null
): String
fun ShortArray.joinToString(
separator: CharSequence = ", ",
prefix: CharSequence = "",
postfix: CharSequence = "",
limit: Int = -1,
truncated: CharSequence = "...",
transform: (Short) -> CharSequence = null
): String
fun IntArray.joinToString(
separator: CharSequence = ", ",
prefix: CharSequence = "",
postfix: CharSequence = "",
limit: Int = -1,
truncated: CharSequence = "...",
transform: (Int) -> CharSequence = null
): String
fun LongArray.joinToString(
separator: CharSequence = ", ",
prefix: CharSequence = "",
postfix: CharSequence = "",
limit: Int = -1,
truncated: CharSequence = "...",
transform: (Long) -> CharSequence = null
): String
fun FloatArray.joinToString(
separator: CharSequence = ", ",
prefix: CharSequence = "",
postfix: CharSequence = "",
limit: Int = -1,
truncated: CharSequence = "...",
transform: (Float) -> CharSequence = null
): String
fun DoubleArray.joinToString(
separator: CharSequence = ", ",
prefix: CharSequence = "",
postfix: CharSequence = "",
limit: Int = -1,
truncated: CharSequence = "...",
transform: (Double) -> CharSequence = null
): String
fun BooleanArray.joinToString(
separator: CharSequence = ", ",
prefix: CharSequence = "",
postfix: CharSequence = "",
limit: Int = -1,
truncated: CharSequence = "...",
transform: (Boolean) -> CharSequence = null
): String
fun CharArray.joinToString(
separator: CharSequence = ", ",
prefix: CharSequence = "",
postfix: CharSequence = "",
limit: Int = -1,
truncated: CharSequence = "...",
transform: (Char) -> CharSequence = null
): String
fun <T> Iterable<T>.joinToString(
separator: CharSequence = ", ",
prefix: CharSequence = "",
postfix: CharSequence = "",
limit: Int = -1,
truncated: CharSequence = "...",
transform: (T) -> CharSequence = null
): String
القيم المعادة
تُعاد سلسلة نصية تحوي عناصر المصفوفة أو المجموعة المعطاة (أو الجزء limit
الأولي منها فقط) بعد فصلها بالفاصل separator
وإضافة البادئة prefix
واللاحقة postfix
إليها إن أعطيت هذه المعاملات. عند تحديد المعامل limit
، ستضاف السلسلة النصية truncated
(قيمتها الافتراضية هي "...") إلى نهاية السلسلة النصية المعادة لتشير إلى وجود جزء مقتطع.
أمثلة
استخدام الدالة ()joinTo
مع كامل عناصر قائمة
توضح الشيفرة التالية كيفية إضافة بادئة ولاحقة إلى عناصر قائمةٍ بعد فصلها بفاصل معين:
fun main(args: Array<String>) {
val numbers = listOf(1, 2, 3, 4, 5, 6)
println(numbers.joinToString()) // 1, 2, 3, 4, 5, 6
println(numbers.joinToString(prefix = "[", postfix = "]")) // [1, 2, 3, 4, 5, 6]
println(numbers.joinToString(prefix = "<", postfix = ">", separator = "•")) // <1•2•3•4•5•6>
}
استخدام الدالة ()joinTo
مع جزء محدد من عناصر قائمة
توضح الشيفرة التالية كيفية إضافة بادئة ولاحقة إلى أول خمسة عناصر من قائمةٍ بعد فصلها بفاصل معين وإضافة سلسلة نصية معينة تدل على وجود جزء مقتطع:
fun main(args: Array<String>) {
val chars = charArrayOf('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q')
println(chars.joinToString(limit = 5, truncated = "...!") { it.toUpperCase().toString() }) // A, B, C, D, E, ...!
}
انظر أيضًا
- الدالة
joinTo()
: تضيف بادئة ولاحقة إلى جميع عناصر المصفوفة أو المجموعة التي استُدعيت معها (أو جزءٍ منها) وتفصلها بفاصلة معينة ثمَّ تضيفها إلى سلسة نصية موجودة مسبقًا. - الدالة
getOrElse()
: تجلب عنصرًا ذي فهرس مُحدَّد من المصفوفة أو المجموعة التي استُدعيت معها أو القيمة المقابلة لمفتاح محدَّد إن استدعيت مع خريطة.