الفرق بين المراجعتين ل"Kotlin/collections/joinTo"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>joinTo()‎</code> في لغة Kotlin}}</noinclude> يخت تجمّع الدالة<code>joinTo()‎</code> عناصر Ko...')
 
سطر 2: سطر 2:
 
يخت
 
يخت
  
تجمّع الدالة<code>joinTo()‎</code> عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها وتضيفها إلى [[Kotlin/collections/Map|القاموس]].المُمرّر  <code>destination</code> حيث مفاتيحه تعيدها  الدالة الممرّرة <code>keySelector()‎</code> مُطبّقة على كل عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]]، وقيمُه [[Kotlin/collections/List|لوائح]] تضم العناصر المقابلة، وفي حال تمرير معامل ثالث <code>valueTransform</code> فإنّ القيم ستكون [[Kotlin/collections/List|لوائح]] تضم ناتج تطبيق الدالة <code>valueTransform</code> على العناصر المقابلة . ثم تعيد القاموس<code>destination.</code>
+
تجمّع الدالة<code>joinTo()‎</code> [[Kotlin/String|سلسة نصية]] من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها مفصولة بالمعامل المُمرّر  <code>separator</code> وباستخدام البادئة <code>prefix</code> واللاحقة <code>postfix</code> في حال تمريرهما،
 +
 
 +
إن كانت [[Kotlin/collections|المجموعة]] كبيرة فيمكن تمرير عدد موجب <code>limit</code>، وفي تلك الحالة سيكون عدد العناصر التي تضمّها الدالة <code>joinTo()‎</code> هو <code>limit</code> إضافة إلى [[Kotlin/String|السلسلة النصية]] <code>truncated</code> التي قيمتها الابتدائية <code>"..."</code>.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
inline fun <T, K, M : MutableMap<in K, MutableList<T>>> Array<out T>.groupByTo(
+
fun <T, A> Array<out T>.joinTo(
     destination: M,  
+
     buffer: A,
     keySelector: (T) -> K
+
    separator: CharSequence = ", ",
): M
+
    prefix: CharSequence = "",
inline fun <K, M : MutableMap<in K, MutableList<Byte>>> ByteArray.groupByTo(
+
    postfix: CharSequence = "",
     destination: M,  
+
    limit: Int = -1,
     keySelector: (Byte) -> K
+
    truncated: CharSequence = "...",  
): M
+
     transform: (T) -> CharSequence = null
inline fun <K, M : MutableMap<in K, MutableList<Short>>> ShortArray.groupByTo(
+
): A
     destination: M,  
+
fun <A> ByteArray.joinTo(
     keySelector: (Short) -> K
+
     buffer: A,
): M
+
    separator: CharSequence = ", ",
inline fun <K, M : MutableMap<in K, MutableList<Int>>> IntArray.groupByTo(
+
    prefix: CharSequence = "",
     destination: M,  
+
    postfix: CharSequence = "",
     keySelector: (Int) -> K
+
    limit: Int = -1,
): M
+
    truncated: CharSequence = "...",  
inline fun <K, M : MutableMap<in K, MutableList<Long>>> LongArray.groupByTo(
+
     transform: (Byte) -> CharSequence = null
     destination: M,  
+
): A
     keySelector: (Long) -> K
+
fun <A> ShortArray.joinTo(
): M
+
     buffer: A,
inline fun <K, M : MutableMap<in K, MutableList<Float>>> FloatArray.groupByTo(
+
    separator: CharSequence = ", ",  
     destination: M,  
+
     prefix: CharSequence = "",
     keySelector: (Float) -> K
+
    postfix: CharSequence = "",
): M
+
    limit: Int = -1,
inline fun <K, M : MutableMap<in K, MutableList<Double>>> DoubleArray.groupByTo(
+
    truncated: CharSequence = "...",
     destination: M,  
+
    transform: (Short) -> CharSequence = null
     keySelector: (Double) -> K
+
): A
): M
+
fun <A> IntArray.joinTo(
inline fun <K, M : MutableMap<in K, MutableList<Boolean>>> BooleanArray.groupByTo(
+
    buffer: A,
     destination: M,  
+
    separator: CharSequence = ", ",  
     keySelector: (Boolean) -> K
+
    prefix: CharSequence = "",
): M
+
    postfix: CharSequence = "",  
inline fun <K, M : MutableMap<in K, MutableList<Char>>> CharArray.groupByTo(
+
    limit: Int = -1,
     destination: M,  
+
     truncated: CharSequence = "...",  
     keySelector: (Char) -> K
+
     transform: (Int) -> CharSequence = null
): M
+
): 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
  
</syntaxhighlight>في حال استدعاء الدالة<code>groupByTo()‎</code> على [[Kotlin/Array|المصفوفات]] مع تمرير معاملين <code>destination</code> و<code>keySelector</code> فإنّها تُجمّع عناصر [[Kotlin/Array|المصفوفة]] الأصلية وتضيفها إلى [[Kotlin/collections/Map|القاموس]].المُمرّر  <code>destination</code> حيث مفاتيحه تعيدها الدالة الممرّرة <code>keySelector()‎</code> مُطبّقة على كل عناصر [[Kotlin/Array|المصفوفة]] وقيمه [[Kotlin/collections/List|لوائح]] تضم العناصر المقابلة. ثم تعيد القاموس<code>destination.</code><syntaxhighlight lang="kotlin">
+
</syntaxhighlight>
inline fun <T, K, V, M : MutableMap<in K, MutableList<V>>> Array<out T>.groupByTo(
+
==القيم المٌعادة==
    destination: M,
+
[[Kotlin/String|سلسة نصية]] مكونة من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها مفصولة بالمعامل المُمرّر  <code>separator</code> وباستخدام البادئة <code>prefix</code> واللاحقة <code>postfix</code> في حال تمريرهما،
    keySelector: (T) -> K,
 
    valueTransform: (T) -> V
 
): M
 
inline fun <K, V, M : MutableMap<in K, MutableList<V>>> ByteArray.groupByTo(
 
    destination: M,
 
    keySelector: (Byte) -> K,
 
    valueTransform: (Byte) -> V
 
): M
 
inline fun <K, V, M : MutableMap<in K, MutableList<V>>> ShortArray.groupByTo(
 
    destination: M,
 
    keySelector: (Short) -> K,
 
    valueTransform: (Short) -> V
 
): M
 
inline fun <K, V, M : MutableMap<in K, MutableList<V>>> IntArray.groupByTo(
 
    destination: M,
 
    keySelector: (Int) -> K,
 
    valueTransform: (Int) -> V
 
): M
 
inline fun <K, V, M : MutableMap<in K, MutableList<V>>> LongArray.groupByTo(
 
    destination: M,
 
    keySelector: (Long) -> K,
 
    valueTransform: (Long) -> V
 
): M
 
inline fun <K, V, M : MutableMap<in K, MutableList<V>>> FloatArray.groupByTo(
 
    destination: M,
 
    keySelector: (Float) -> K,
 
    valueTransform: (Float) -> V
 
): M
 
inline fun <K, V, M : MutableMap<in K, MutableList<V>>> DoubleArray.groupByTo(
 
    destination: M,
 
    keySelector: (Double) -> K,
 
    valueTransform: (Double) -> V
 
): M
 
inline fun <K, V, M : MutableMap<in K, MutableList<V>>> BooleanArray.groupByTo(
 
    destination: M,
 
    keySelector: (Boolean) -> K,
 
    valueTransform: (Boolean) -> V
 
): M
 
inline fun <K, V, M : MutableMap<in K, MutableList<V>>> CharArray.groupByTo(
 
    destination: M,
 
    keySelector: (Char) -> K,
 
    valueTransform: (Char) -> V
 
): M
 
  
</syntaxhighlight>في حال استدعاء الدالة<code>groupByTo()‎</code> على [[Kotlin/Array|المصفوفات]] مع تمرير ثلاث معاملات <code>destination</code> و <code>valueTransform</code> و <code>keySelector</code> فإنّها تُجمّع العناصر المعادة من قبل الدالة <code>valueTransform()‎</code> مُطبّقة على كل عناصر [[Kotlin/Array|المصفوفة]] وتربطها بالمفتاح الذي تعيده الدالة<code>keySelector()‎</code> مطبقة على على عناصر [[Kotlin/Array|المصفوفة]] وتضيفها إلى [[Kotlin/collections/Map|القاموس]] المُمرّر  <code>destination</code> حيث كل مفتاح مرتبط [[Kotlin/collections/List|بلائحة]] العناصر المقابلة. ثم تعيد [[Kotlin/collections/Map|القاموس]] <code>destination.</code><syntaxhighlight lang="kotlin">
+
إن كانت [[Kotlin/collections|المجموعة]] كبيرة فيمكن تمرير عدد موجب <code>limit</code>، وفي تلك الحالة سيكون عدد العناصر التي تضمّها الدالة <code>joinTo()‎</code> هو <code>limit</code> إضافة إلى [[Kotlin/String|السلسلة النصية]] <code>truncated</code> التي قيمتها الابتدائية <code>"..."</code>.
inline fun <T, K> Iterable<T>.groupBy(
 
    keySelector: (T) -> K
 
): Map<K, List<T>>
 
</syntaxhighlight>في حال استدعاء الدالة<code>groupByTo()‎</code> على [[Kotlin/collections|المجموعات]] مع تمرير معاملين <code>destination</code> و<code>keySelector</code> فإنّها تُجمّع عناصر  [[Kotlin/collections|المجموعة]] الأصلية وتضيفها إلى [[Kotlin/collections/Map|القاموس]].المُمرّر  <code>destination</code> حيث مفاتيحه تعيدها الدالة الممرّرة <code>keySelector()‎</code>  مُطبّقة على كل عناصر  [[Kotlin/collections|المجموعة]] وقيمه [[Kotlin/collections/List|لوائح]] تضم العناصر المقابلة. ثم تعيد القاموس<code>destination.</code><syntaxhighlight lang="kotlin">
 
inline fun <T, K, V> Iterable<T>.groupBy(
 
    keySelector: (T) -> K,
 
    valueTransform: (T) -> V
 
): Map<K, List<V>>
 
</syntaxhighlight>في حال استدعاء الدالة<code>groupByTo()‎</code> على [[Kotlin/collections|المجموعات]] مع تمرير ثلاث معاملات <code>destination</code> و <code>valueTransform</code> و <code>keySelector</code> فإنّها تُجمّع العناصر المعادة من قبل الدالة  <code>valueTransform()‎</code> مُطبّقة على كل عناصر  [[Kotlin/collections|المجموعة]] وتربطها بالمفتاح الذي تعيده الدالة<code>keySelector()‎</code> مطبقة على على عناصر  [[Kotlin/collections|المجموعة]] وتضيفها إلى [[Kotlin/collections/Map|القاموس]] المُمرّر  <code>destination</code> حيث كل مفتاح مرتبط [[Kotlin/collections/List|بلائحة]] العناصر المقابلة. ثم تعيد [[Kotlin/collections/Map|القاموس]] <code>destination</code>.
 
 
 
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
 
==القيم المٌعادة==
 
[[Kotlin/collections/Map|القاموس]] <code>destination</code> المُمرّر إلى الدالة<code>()groupByTo</code>.
 
 
==أمثلة==
 
==أمثلة==
===استخدام الدالة <code>()joinTo</code> مع المصفوفات مع تمرير معاملين===
+
===استخدام الدالة <code>()joinTo</code> مع اللوائح: الحالة الأولى===
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> مكونة من ست [[Kotlin/collections/String|سلاسل نصية]] باستخدام الدالة <code>()arrayOf</code>، ثم تُنشئ  [[Kotlin/collections/Map|قاموسًا]] فارغًا باسم <code>map</code> باستخدام الدالة <code>()mutableMapOf</code>، ثم تستخدم الدالة <code>()joinTo</code> على <code>array</code> بتمرير [[Kotlin/collections/Map|القاموس]] <code>map</code> و دالة تعيد طول [[Kotlin/collections/String|السلسلة النصية]] المُمرّرة، ثم تطبع [[Kotlin/collections/Map|القاموس]] <code>map</code>:<syntaxhighlight lang="kotlin">
+
تعرف الشيفرة الآتية  [[Kotlin/String|سلسة نصية]]<nowiki/> باسم <code>sb</code> باستخدام الدالة <code>()StringBuilder</code>، ثم تُنشئ  [[Kotlin/collections/List|لائحة]] باسم <code>numbers</code> مكونة من ثلاثة أعداد باستخدام الدالة <code>()listOf</code>، ثم تستخدم الدالة <code>()joinTo</code> على <code>numbers</code> بتمرير <code>sb</code> وبادئة ولاحقة ، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val array = arrayOf("a", "abc", "ab", "def","avde" ,"abcd")
+
val sb = StringBuilder("An existing string and a list: ")
val map: MutableMap<Int, MutableList<String>> = mutableMapOf()
+
val numbers = listOf(1, 2, 3)
 
      
 
      
array.groupByTo ( map, { it.length })
+
println(numbers.joinTo(sb, prefix = "[", postfix = "]").toString()) // An existing string and a list: [1, 2, 3]
   
 
print(map) // {1=[a], 3=[abc, def], 2=[ab], 4=[avde, abcd]}
 
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
===استخدام الدالة <code>()joinTo</code> مع المصفوفات مع تمرير ثلاث معاملات===
+
===استخدام الدالة <code>()joinTo</code> مع اللوائح: الحالة الثانية===
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> مكونة من ست [[Kotlin/collections/String|سلاسل نصية]] باستخدام الدالة <code>()arrayOf</code>، ثم تُنشئ  [[Kotlin/collections/Map|قاموسًا]] فارغًا باسم <code>map</code> باستخدام الدالة <code>()mutableMapOf</code>، ثم تستدعي الدالة <code>()groupByTo</code> على <code>array</code> بتمرير [[Kotlin/collections/Map|القاموس]] <code>map</code> و دالة تعيد طول [[Kotlin/collections/String|السلسلة النصية]] المُمرّرة ودالة تحوّل [[Kotlin/collections/String|السلاسل النصية]] إلى [[Kotlin/collections/String|سلاسل نصية]] ذات حروف كبيرة ، ثم تطبع [[Kotlin/collections/Map|القاموس]] <code>map</code>:<syntaxhighlight lang="kotlin">
+
تعرف الشيفرة الآتية  [[Kotlin/String|سلسة نصية]] باسم <code>sb</code> باستخدام الدالة <code>()StringBuilder</code>، ثم تُنشئ  [[Kotlin/collections/List|لائحة]] باسم <code>numbers</code> مكونة من 7أعداد باستخدام الدالة <code>()listOf</code>، ثم تستخدم الدالة <code>()joinTo</code> على <code>numbers</code> بتمرير <code>sb</code> ومعامل <code>limit</code> ، ثم تطبع الناتج:<nowiki/><syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val array = arrayOf("a", "abc", "ab", "def","avde" ,"abcd")
+
val sb = StringBuilder("An existing string and a list: ")
val map: MutableMap<Int, MutableList<String>> = mutableMapOf()
+
val numbers = listOf(1, 2, 3, 6 , 8, 9, 5)
   
 
array.groupByTo ( map, { it.length }, {it.toUpperCase()})
 
 
      
 
      
print(map) // {1=[A], 3=[ABC, DEF], 2=[AB], 4=[AVDE, ABCD]}
+
println(numbers.joinTo(sb, limit = 5).toString()) // An existing string and a list: 1, 2, 3, 6, 8, ...
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
<code>[[Kotlin/collections/groupByTo|groupBy()]]</code>‎: تعيد [[Kotlin/collections/Map|قاموسًا]] يُجمّع عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها حيث مفاتيحه تعيدها الدالة المُمرّرة <code>keySelector</code> وقيمه لوائحُ تضم عناصر  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] (أو ناتج تمرير عناصر  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] على الدالة <code>valueTransform</code> في حال تمريرها).
+
<code>[[Kotlin/collections/joinToString|joinToString()]]</code>‎: تنشئ [[Kotlin/String|سلسة نصية]] من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها مفصولة بالمعامل المُمرّر  <code>separator</code> وباستخدام البادئة <code>prefix</code> واللاحقة <code>postfix</code> في حال تمريرهما،
 
==مصادر==
 
==مصادر==
[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/group-by-to.html الدالة joinTo()‎ في التوثيق الرسمي للمكتبة القياسية في لغة Kotlin]
+
[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/join-to.html الدالة joinTo()‎ في التوثيق الرسمي للمكتبة القياسية في لغة Kotlin]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Functions]]
 
[[تصنيف:Kotlin Functions]]

مراجعة 19:26، 27 مايو 2018

يخت

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

إن كانت المجموعة كبيرة فيمكن تمرير عدد موجب limit، وفي تلك الحالة سيكون عدد العناصر التي تضمّها الدالة joinTo()‎ هو 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 التي قيمتها الابتدائية "...".

أمثلة

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

تعرف الشيفرة الآتية  سلسة نصية باسم sb باستخدام الدالة ()StringBuilder، ثم تُنشئ لائحة باسم numbers مكونة من ثلاثة أعداد باستخدام الدالة ()listOf، ثم تستخدم الدالة ()joinTo على 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]
}

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

تعرف الشيفرة الآتية  سلسة نصية باسم sb باستخدام الدالة ()StringBuilder، ثم تُنشئ لائحة باسم numbers مكونة من 7أعداد باستخدام الدالة ()listOf، ثم تستخدم الدالة ()joinTo على 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 في حال تمريرهما،

مصادر

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