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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع text.mapNotNullTo()‎ في لغة Kotlin}}</noinclude> تعيد الدالة <code>mapNotNullTo()</code>‎ Kotlin/String|لا...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: التابع text.mapNotNullTo()‎ في لغة Kotlin}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: التابع text.mapNotNullTo()‎ في لغة Kotlin}}</noinclude>
تعيد الدالة <code>mapNotNullTo()</code>‎ [[Kotlin/String|لائحة]] مكونة من النتائج غير المعدومة (non-null) لتطبيق الدالة <code>transform</code> المُمرّرة  على عناصر [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها.
+
تضيف الدالة <code>mapNotNullTo()</code>‎ إلى المجموعة المتغيرة المُمرّرة <code>destination</code> النتائج غير المعدومة (non-null) لتطبيق الدالة <code>transform</code> على عناصر سلسلة الحروف التي استٌدعيت عبرها.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
inline fun <R : Any> CharSequence.mapNotNull(
+
inline fun <R : Any, C : MutableCollection<in R>> CharSequence.mapNotNullTo(
 +
    destination: C,
 
     transform: (Char) -> R?
 
     transform: (Char) -> R?
): List<R>
+
): C
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
  
 
==القيم المعادة==
 
==القيم المعادة==
[[Kotlin/String|لائحة]].
+
المجموعة المتغيرة <code>destination</code>.
 
==أمثلة==
 
==أمثلة==
 
===استخدام الدالة <code>mapNotNullTo()‎</code> مع السلاسل النصية===
 
===استخدام الدالة <code>mapNotNullTo()‎</code> مع السلاسل النصية===
تُعرّف الشيفرة الآتية [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، ثم تستدعي الدالة <code>mapNotNullTo()‎</code> عبرها وتمرر دالة كوسيط، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
+
تُعرّف الشيفرة الآتية سلسلة نصية باسم <code>str</code>، وكائنا من النوع <code>mutableList</code> باسم <code>list</code> ثم تستدعي الدالة <code>mapNotNullTo()‎</code> عبرها وتمرر دالة كوسيط، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
 
val str = "Hsoub Wiki"  
 
val str = "Hsoub Wiki"  
 +
 +
val list = mutableListOf<Char>()
 +
 +
str.mapNotNullTo (list) { if (it.isUpperCase() ) it else null}
 
      
 
      
print( str.mapNotNull { if (it.isUpperCase() ) it else null} ) // [H, W]
+
print( list ) // [H, W]
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
سطر 26: سطر 31:
  
 
==مصادر==
 
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/map-not-null.html صفحة الدالة text.mapNotNullTo()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/map-not-null-to.html صفحة الدالة text.mapNotNullTo()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Method]]
 
[[تصنيف:Kotlin Method]]

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

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

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

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

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

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

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

أمثلة

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

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

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

val list = mutableListOf<Char>()

str.mapNotNullTo (list) { if (it.isUpperCase() ) it else null} 
    
print( list ) // [H, W]
}

انظر أيضًا

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

مصادر