الفرق بين المراجعتين ل"Kotlin/kotlin.text/zip"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع text.zip()‎ في لغة Kotlin}}</noinclude> تعيد الدالة <code>zip()</code>‎ لائحة تحتوي...')
 
سطر 3: سطر 3:
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
fun CharSequence.toList(): List<Char>  
+
infix fun CharSequence.zip(
 +
    other: CharSequence
 +
): List<Pair<Char, Char>>
 +
</syntaxhighlight>تعيد الدالة <code>zip()</code>‎ [[Kotlin/List|لائحة]] تحتوي [[Kotlin/Pair/index|أزواجًا]] (pairs) مُركّبة من حروف [[Kotlin/CharSequence/index|سلسلة الحروف]]  التي استٌدعيت عبرها ومن حروف السلسلة الأخرى المًمرّرة <code>other</code> التي لها نفس الفهرس، [[Kotlin/List|اللائحة]] المُعادة لها طول أقصر [[Kotlin/CharSequence/index|سلسلة حروف]].<syntaxhighlight lang="kotlin">
 +
inline fun <V> CharSequence.zip(
 +
    other: CharSequence,
 +
    transform: (a: Char, b: Char) -> V
 +
): List<V>
 +
</syntaxhighlight>تعيد الدالة <code>zip()</code>‎ [[Kotlin/List|لائحة]] تحتوي  نتائج تطبيق الدالة المُمرّرة <code>transform</code> على حروف [[Kotlin/CharSequence/index|سلسلة الحروف]]  التي استٌدعيت عبرها وعلى حروف السلسلة الأخرى المًمرّرة <code>other</code> التي لها نفس الفهرس، [[Kotlin/List|اللائحة]] المُعادة لها طول أقصر [[Kotlin/CharSequence/index|سلسلة حروف]].
  
</syntaxhighlight>
 
 
==القيم المعادة==
 
==القيم المعادة==
[[Kotlin/List|لائحة]] من الحروف.
+
[[Kotlin/List|لائحة]].
 
==أمثلة==
 
==أمثلة==
 
===استخدام الدالة <code>zip()‎</code> مع السلاسل النصية===
 
===استخدام الدالة <code>zip()‎</code> مع السلاسل النصية===
تستدعي الشيفرة الآتية الدالة <code>zip()‎</code> عبر عدة [[Kotlin/String|سلاسل نصية]]، وتطبع الناتج:<syntaxhighlight lang="kotlin">
+
تستدعي الشيفرة الآتية الدالة <code>zip()‎</code> عبر عدة [[Kotlin/String|سلاسل نصية]] مع تمرير [[Kotlin/String|سلسلة نصية]] كوسيط، وتطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
    println("Hello, world!".toList()) // [H, e, l, l, o, ,, , w, o, r, l, d, !]
+
println("hsoub".zip("12345")) // [(h, 1), (s, 2), (o, 3), (u, 4), (b, 5)]
    println("Hsoub".toList()) // [H, s, o, u, b]
+
println("hsoub".zip("12")) // [(h, 1), (s, 2)]
    println("114".toList()) // [1, 1, 4]
+
println("hsoub" zip "HSOUB") // [(h, H), (s, S), (o, O), (u, U), (b, B)]
 +
}
 +
</syntaxhighlight>
 +
===ستخدام الدالة <code>zip()‎</code> مع السلاسل النصية مع تمرير دالة===
 +
تستدعي الشيفرة الآتية الدالة <code>zip()‎</code> عبر عدة [[Kotlin/String|سلاسل نصية]] مع تمرير [[Kotlin/String|سلسلة نصية]] ودالة كوسيط، وتطبع الناتج:<syntaxhighlight lang="kotlin">
 +
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]
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
سطر 21: سطر 35:
  
 
*<code>[[Kotlin/text/toUpperCase|toUpperCase()]]</code>‎ : تحوّل الدالة <code>toUpperCase()</code>‎ الحرف أو السلسلة النصية التي استٌدعيت عبرها إلى حالة الأحرف الكبيرة (uppercase).
 
*<code>[[Kotlin/text/toUpperCase|toUpperCase()]]</code>‎ : تحوّل الدالة <code>toUpperCase()</code>‎ الحرف أو السلسلة النصية التي استٌدعيت عبرها إلى حالة الأحرف الكبيرة (uppercase).
 
*<code>[[Kotlin/text/isDefined|toBigDecimalOrNull()]]‎</code>: تحلّل الدالة <code>toBigDecimalOrNull()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>BigDecimal</code>.
 
 
*<code>[[Kotlin/kotlin.text/toBigDecimal|toBigDecimal()]]‎</code>: تحلّل الدالة <code>toBigDecimal()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>BigDecimal</code>.
 
*<code>[[Kotlin/kotlin.text/toBigDecimal|toBigDecimal()]]‎</code>: تحلّل الدالة <code>toBigDecimal()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>BigDecimal</code>.
  
سطر 28: سطر 40:
 
==مصادر==
 
==مصادر==
 
<span> </span>
 
<span> </span>
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-list.html صفحة الدالة text.zip()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/zip.html صفحة الدالة text.zip()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Method]]
 
[[تصنيف:Kotlin Method]]

مراجعة 07:16، 14 يوليو 2018

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

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

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

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

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

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

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

لائحة.

أمثلة

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

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

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

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

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

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

مصادر