الفرق بين المراجعتين لصفحة: «Kotlin/collections/joinTo»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>joinTo()</code> في | <noinclude>{{DISPLAYTITLE: الدالة <code>joinTo()</code> في Kotlin}}</noinclude> | ||
تضيف الدالة <code>joinTo()</code> بادئة ولاحقة إلى جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها (أو جزءٍ منها) وتفصلها بفاصلة معينة ثمَّ تضيفها إلى [[Kotlin/String|سلسة نصية]] موجودة مسبقًا. | |||
إن كانت [[Kotlin/collections|المجموعة]] | إن كانت [[Kotlin/collections|المجموعة]] كبيرة، فيمكن تحديد جزءٍ أولي معين منها فقط لإضافته إلى السلسلة النصية؛ في هذه الحالة، تضاف سلسلة نصية معينة، مثل "..." أو "...إلخ" إلى السلسلة النصية الناتجة للدلالة على وجود جزء مقتطع. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
سطر 98: | سطر 98: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==القيم المٌعادة== | ==القيم المٌعادة== | ||
تُعاد السلسلة النصية <code>buffer</code> مضافًا إليها عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة (أو الجزء <code>limit</code> الأولي منها فقط) بعد فصلها بالفاصل <code>separator</code> وإضافة البادئة <code>prefix</code> واللاحقة <code>postfix</code> إليها إن أعطيت هذه المعاملات. عند تحديد المعامل <code>limit</code>، ستضاف السلسلة النصية <code>truncated</code> (قيمتها الافتراضية هي "...") إلى نهاية السلسلة النصية المعادة لتشير إلى وجود جزء مقتطع. | |||
إن | |||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>()joinTo</code> مع | ===استخدام الدالة <code>()joinTo</code> مع كامل عناصر قائمة=== | ||
تعرف الشيفرة الآتية [[Kotlin/String|سلسة نصية]] | تعرف الشيفرة الآتية <nowiki/>[[Kotlin/String|سلسة نصية]] باسم <code>sb</code> باستخدام الدالة <code>()StringBuilder</code> ثم تُنشئ [[Kotlin/collections/List|قائمة]] باسم <code>numbers</code> باستخدام الدالة <code>()listOf</code>. تُستعمَل بعد ذلك الدالة <code>()joinTo</code> لإضافة بادئة ولاحقة إلى عناصر تلك القائمة ثمَّ إضافتها إلى السلسلة النصية <code>sb</code>:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val sb = StringBuilder("An existing string and a list: ") | val sb = StringBuilder("An existing string and a list: ") | ||
val numbers = listOf(1, 2, 3) | val numbers = listOf(1, 2, 3) | ||
println(numbers.joinTo(sb, prefix = "[", postfix = "]").toString()) // An existing string and a list: [1, 2, 3] | |||
println(numbers.joinTo(sb, prefix = "[", postfix = "]").toString()) // An existing string and a list: [1, 2, 3] | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===استخدام الدالة <code>()joinTo</code> مع | ===استخدام الدالة <code>()joinTo</code> مع جزء محدد من عناصر قائمة=== | ||
تعرِّف الشيفرة الآتية <nowiki/>[[Kotlin/String|سلسة نصية]] باسم <code>firstNumber</code> باستخدام الدالة <code>()StringBuilder</code> ثمَّ تستخدم الدالة <code>()joinTo</code> لاقتطاع أول خمسة عناصر من <code>lotOfNumbers</code> وإضافتها إلى تلك السلسلة النصية:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val | val lotOfNumbers: Iterable<Int> = 1..100 | ||
val firstNumbers = StringBuilder("First five numbers: ") | |||
println(lotOfNumbers.joinTo(firstNumbers, limit = 5).toString()) // First five numbers: 1, 2, 3, 4, 5, ... | |||
println( | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
* الدالة [[Kotlin/collections/joinToString|<code>joinToString()</code>]]: تضيف بادئة ولاحقة إلى جميع عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها (أو جزءٍ منها) بعد فصل عناصرها بفاصلة معينة ثمَّ تضع الناتج في [[Kotlin/String|سلسة نصية]] جديدة تنشئها آنذاك. | |||
* الدالة <code>[[Kotlin/collections/fill|fill()]]</code>: تبدِّل قيمة جديدة معطاة مكان عناصر محدَّدة في <nowiki/>[[Kotlin/Array|المصفوفة]] أو القائمة التي تستدعى معها. | |||
==مصادر== | ==مصادر== | ||
[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/join-to.html الدالة joinTo() في التوثيق الرسمي للمكتبة القياسية في لغة Kotlin] | * [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/join-to.html صفحة الدالة joinTo() في التوثيق الرسمي للمكتبة القياسية في لغة Kotlin] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 16:51، 24 يوليو 2018
تضيف الدالة joinTo()
بادئة ولاحقة إلى جميع عناصر المصفوفة أو المجموعة التي استُدعيت معها (أو جزءٍ منها) وتفصلها بفاصلة معينة ثمَّ تضيفها إلى سلسة نصية موجودة مسبقًا.
إن كانت المجموعة كبيرة، فيمكن تحديد جزءٍ أولي معين منها فقط لإضافته إلى السلسلة النصية؛ في هذه الحالة، تضاف سلسلة نصية معينة، مثل "..." أو "...إلخ" إلى السلسلة النصية الناتجة للدلالة على وجود جزء مقتطع.
البنية العامة
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
القيم المٌعادة
تُعاد السلسلة النصية buffer
مضافًا إليها عناصر المصفوفة أو المجموعة المعطاة (أو الجزء limit
الأولي منها فقط) بعد فصلها بالفاصل separator
وإضافة البادئة prefix
واللاحقة postfix
إليها إن أعطيت هذه المعاملات. عند تحديد المعامل limit
، ستضاف السلسلة النصية truncated
(قيمتها الافتراضية هي "...") إلى نهاية السلسلة النصية المعادة لتشير إلى وجود جزء مقتطع.
أمثلة
استخدام الدالة ()joinTo
مع كامل عناصر قائمة
تعرف الشيفرة الآتية سلسة نصية باسم sb
باستخدام الدالة ()StringBuilder
ثم تُنشئ قائمة باسم numbers
باستخدام الدالة ()listOf
. تُستعمَل بعد ذلك الدالة ()joinTo
لإضافة بادئة ولاحقة إلى عناصر تلك القائمة ثمَّ إضافتها إلى السلسلة النصية 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
مع جزء محدد من عناصر قائمة
تعرِّف الشيفرة الآتية سلسة نصية باسم firstNumber
باستخدام الدالة ()StringBuilder
ثمَّ تستخدم الدالة ()joinTo
لاقتطاع أول خمسة عناصر من lotOfNumbers
وإضافتها إلى تلك السلسلة النصية:
fun main(args: Array<String>) {
val lotOfNumbers: Iterable<Int> = 1..100
val firstNumbers = StringBuilder("First five numbers: ")
println(lotOfNumbers.joinTo(firstNumbers, limit = 5).toString()) // First five numbers: 1, 2, 3, 4, 5, ...
}
انظر أيضًا
- الدالة
joinToString()
: تضيف بادئة ولاحقة إلى جميع عناصر المصفوفة أو المجموعة التي استُدعيت معها (أو جزءٍ منها) بعد فصل عناصرها بفاصلة معينة ثمَّ تضع الناتج في سلسة نصية جديدة تنشئها آنذاك. - الدالة
fill()
: تبدِّل قيمة جديدة معطاة مكان عناصر محدَّدة في المصفوفة أو القائمة التي تستدعى معها.