الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/mapIndexedNotNullTo»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع text.mapIndexedNotNullTo()‎ في لغة Kotlin}}</noinclude> تضيف الدالة <code>mapIndexedNotNullTo()</code>‎ إلى...'
 
لا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع text.mapIndexedNotNullTo()‎ في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: التابع text.mapIndexedNotNullTo()‎ في لغة Kotlin}}</noinclude>
تضيف الدالة <code>mapIndexedNotNullTo()</code>‎ إلى المجموعة المتغيرة المُمرّرة <code>destination</code> نتائج تطبيق الدالة <code>transform</code> على عناصر [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها وعلى فهارسها.
تضيف الدالة <code>mapIndexedNotNullTo()</code>‎ إلى المجموعة المتغيرة المُمرّرة <code>destination</code> النتائج غير المعدومة (non-null) لتطبيق الدالة <code>transform</code> على عناصر [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها وعلى فهارسها.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
inline fun <R, C : MutableCollection<in R>> CharSequence.mapIndexedTo(
inline fun <R : Any, C : MutableCollection<in R>> CharSequence.mapIndexedNotNullTo(
     destination: C,  
     destination: C,  
     transform: (index: Int, Char) -> R
     transform: (index: Int, Char) -> R?
): C
): C
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
سطر 18: سطر 18:
val list = mutableListOf<Int>()
val list = mutableListOf<Int>()


str.mapIndexedTo (list) { index, char -> index + char.toInt()}
str.mapIndexedNotNullTo (list) { index, char -> if (index < 5) index + char.toInt() else null}
      
      
print( list ) // [72, 116, 113, 120, 102, 37, 93, 112, 115, 114]
print( list ) // [72, 116, 113, 120, 102]
}
}
</syntaxhighlight>
</syntaxhighlight>
سطر 27: سطر 27:


* <code>[[Kotlin/kotlin.text/mapIndexed|mapIndexed()]]‎</code>: تعيد لائحة مكونة من نتائج تطبيق الدالة <code>transform</code> المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها وعلى فهارسها.
* <code>[[Kotlin/kotlin.text/mapIndexed|mapIndexed()]]‎</code>: تعيد لائحة مكونة من نتائج تطبيق الدالة <code>transform</code> المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها وعلى فهارسها.
* <code>[[Kotlin/kotlin.text/mapTo|mapTo()]]‎</code>: تضيف  إلى المجموعة المتغيرة المُمرّرة <code>destination</code> نتائج تطبيق الدالة <code>transform</code> على عناصر سلسلة الحروف التي استٌدعيت عبرها.
==مصادر==
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/map-indexed-to.html صفحة الدالة text.mapIndexedNotNullTo()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/map-indexed-not-null-to.html صفحة الدالة text.mapIndexedNotNullTo()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Method]]
[[تصنيف:Kotlin Method]]

مراجعة 11:40، 10 يوليو 2018

تضيف الدالة mapIndexedNotNullTo()‎ إلى المجموعة المتغيرة المُمرّرة destination النتائج غير المعدومة (non-null) لتطبيق الدالة transform على عناصر سلسلة الحروف التي استٌدعيت عبرها وعلى فهارسها.

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

inline fun <R : Any, C : MutableCollection<in R>> CharSequence.mapIndexedNotNullTo(
    destination: C, 
    transform: (index: Int, Char) -> R?
): C

يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).

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

المجموعة المتغيرة destination.

أمثلة

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

تُعرّف الشيفرة الآتية سلسلة نصية باسم str، وكائنا من النوع mutableList باسم list ثم تستدعي الدالة mapIndexedNotNullTo()‎ عبرها وتمرر دالة كوسيط، ثم تطبع الناتج:

fun main(args: Array<String>) {
val str = "Hsoub Wiki" 
val list = mutableListOf<Int>()

str.mapIndexedNotNullTo (list) { index, char -> if (index < 5) index + char.toInt() else null}
    
print( list ) // [72, 116, 113, 120, 102]
}

انظر أيضًا

  • map(): تعيد‎ لائحة مكونة من نتائج تطبيق الدالة transform المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها.
  • mapIndexed(): تعيد لائحة مكونة من نتائج تطبيق الدالة transform المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها وعلى فهارسها.
  • mapTo(): تضيف إلى المجموعة المتغيرة المُمرّرة destination نتائج تطبيق الدالة transform على عناصر سلسلة الحروف التي استٌدعيت عبرها.

مصادر