الفرق بين المراجعتين ل"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 على عناصر سلسلة الحروف التي استٌدعيت عبرها.

مصادر