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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
سطر 10: سطر 10:
 
==أمثلة==
 
==أمثلة==
 
===استخدام الدالة <code>()withIndex</code> مع سلسلة نصية===
 
===استخدام الدالة <code>()withIndex</code> مع سلسلة نصية===
تستدعي الشيفرة الآتية الدالة  <code>()withIndex</code> عبر عدة [[Kotlin/String|سلاسل نصية]]، و<nowiki/>تطبع الناتج:<syntaxhighlight lang="kotlin">
+
تستدعي الشيفرة الآتية الدالة  <code>()withIndex</code> عبر [[Kotlin/String|سلسلة نصية]] وتحيل الناتج إلى المتغير <code>iter</code>، ثم تستخدمه في حلقة تكرارية [[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]<nowiki/>:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
    println("   hsoub   ".trimEnd()) // "    hsoub"
+
val iter = "hsoub".withIndex()
    println( "++++hsoub......".trimEnd {!it.isLetter()} ) // ++++hsoub
+
   
 +
for (x in iter) println(x)  
 +
// المخرجات
 +
//IndexedValue(index=0, value=h)
 +
//IndexedValue(index=1, value=s)
 +
//IndexedValue(index=2, value=o)
 +
//IndexedValue(index=3, value=u)
 +
//IndexedValue(index=4, value=b)
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
 
* <code>[[Kotlin/kotlin.text/trim|trim()]]‎</code>: تعيد  الدالة <code>trim()‎</code> جزءًا من [[Kotlin/CharSequence/index|سلسلة الحروف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها بعد حذف الأحرف الأولى والأخيرالتي تحقق الشرط المنطقي المُحدّد <code>predicate.</code>
 
* <code>[[Kotlin/kotlin.text/trim|trim()]]‎</code>: تعيد  الدالة <code>trim()‎</code> جزءًا من [[Kotlin/CharSequence/index|سلسلة الحروف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها بعد حذف الأحرف الأولى والأخيرالتي تحقق الشرط المنطقي المُحدّد <code>predicate.</code>
 
* <code>[[Kotlin/kotlin.text/substringAfter|substringAfter()]]‎</code>: تعيد  الدالة <code>substringAfter()‎</code> جزءًا من [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها والمُتواجد بعد أول ظهور للمُحدِّد <code>delimiter،</code> إن لم تكن [[Kotlin/String|السلسلة النصية]] الأصلية تحتوي <code>delimiter</code>، فستعيد القيمة المُمرّرة <code>missingDelimiterValue</code>، والتي قيمتها الافتراضية هي [[Kotlin/String|السلسلة النصية]] الأصلية. 
 
 
* <code>[[Kotlin/kotlin.text/substringBefore|substringBefore()]]‎</code>: تعيد  الدالة <code>substringBefore()‎</code> جزءًا من [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها والمُتواجد قبل أول ظهور للمُحدِّد <code>delimiter،</code> إن لم تكن [[Kotlin/String|السلسلة النصية]] الأصلية تحتوي <code>delimiter</code>، فستعيد القيمة المُمرّرة <code>missingDelimiterValue</code>، والتي قيمتها الافتراضية هي [[Kotlin/String|السلسلة النصية]] الأصلية. 
 
* <code>[[Kotlin/kotlin.text/substringBefore|substringBefore()]]‎</code>: تعيد  الدالة <code>substringBefore()‎</code> جزءًا من [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها والمُتواجد قبل أول ظهور للمُحدِّد <code>delimiter،</code> إن لم تكن [[Kotlin/String|السلسلة النصية]] الأصلية تحتوي <code>delimiter</code>، فستعيد القيمة المُمرّرة <code>missingDelimiterValue</code>، والتي قيمتها الافتراضية هي [[Kotlin/String|السلسلة النصية]] الأصلية. 
  
سطر 26: سطر 31:
  
 
==مصادر==
 
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/trim-end.html الدالة text.withIndex()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/with-index.html الدالة text.withIndex()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Functions]]
 
[[تصنيف:Kotlin Functions]]

مراجعة 23:42، 13 يوليو 2018

تعيد الدالة withIndex()‎ مُكرّرا مؤجّلًا (lazy Iterable) مكونًا من عناصر من الصنف IndexedValue لكل حرف من حروف سلسلة الحروف التي استُدعيت عبرها.

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

fun CharSequence.withIndex(): Iterable<IndexedValue<Char>>

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

مُكرّر مؤجّل (lazy Iterable) مكون من عناصر من الصنف IndexedValue

أمثلة

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

تستدعي الشيفرة الآتية الدالة ()withIndex عبر سلسلة نصية وتحيل الناتج إلى المتغير iter، ثم تستخدمه في حلقة تكرارية for:

fun main(args: Array<String>) {
val iter = "hsoub".withIndex()
     
for (x in iter) println(x)    
// المخرجات
//IndexedValue(index=0, value=h)
//IndexedValue(index=1, value=s)
//IndexedValue(index=2, value=o)
//IndexedValue(index=3, value=u)
//IndexedValue(index=4, value=b)
}

انظر أيضًا

مصادر