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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع text.mapIndexedNotNull()‎ في لغة Kotlin}}</noinclude> تعيد الدالة <code>mapIndexedNotNull()</code>‎ Kotlin/S...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: التابع text.mapIndexedNotNull()‎ في لغة Kotlin}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: التابع text.mapIndexedNotNull()‎ في لغة Kotlin}}</noinclude>
تعيد الدالة <code>mapIndexedNotNull()</code>‎ [[Kotlin/String|لائحة]] مكونة من نتائج تطبيق الدالة <code>transform</code> المُمرّرة  على عناصر [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها وعلى فهارسها.
+
تعيد الدالة <code>mapIndexedNotNull()</code>‎ [[Kotlin/String|لائحة]] مكونة من النتائج غير المعدومة (non-nul) لتطبيق الدالة <code>transform</code> المُمرّرة  على عناصر [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها وعلى فهارسها.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
inline fun <R> CharSequence.mapIndexed(
+
inline fun <R : Any> CharSequence.mapIndexedNotNull(
     transform: (index: Int, Char) -> R
+
     transform: (index: Int, Char) -> R?
 
): List<R>
 
): List<R>
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
سطر 16: سطر 16:
 
val str = "Hsoub Wiki"  
 
val str = "Hsoub Wiki"  
 
    
 
    
print( str.mapIndexed { index, char -> index + char.toInt()} ) // [72, 116, 113, 120, 102, 37, 93, 112, 115, 114]
+
print( str.mapIndexedNotNull { index, char -> if (index < 5) index + char.toInt() else null} ) // [72, 116, 113, 120, 102]
 
 
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
سطر 23: سطر 22:
 
*<code>[[Kotlin/kotlin.text/lineSequence|lineSequence()]]‎</code>: تقسّم [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها إلى سلسلة مكونة من سطور مفصولة بأيٍّ من [[Kotlin/CharSequence/index|سلاسل الحروف]] التالية <code>CRLF</code> أو  <code>LF</code> أو <code>CR</code>.
 
*<code>[[Kotlin/kotlin.text/lineSequence|lineSequence()]]‎</code>: تقسّم [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها إلى سلسلة مكونة من سطور مفصولة بأيٍّ من [[Kotlin/CharSequence/index|سلاسل الحروف]] التالية <code>CRLF</code> أو  <code>LF</code> أو <code>CR</code>.
 
*<code>[[Kotlin/kotlin.text/map|map()]]‎</code>: تعيد‎ لائحة مكونة من نتائج تطبيق الدالة <code>transform</code> المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها.
 
*<code>[[Kotlin/kotlin.text/map|map()]]‎</code>: تعيد‎ لائحة مكونة من نتائج تطبيق الدالة <code>transform</code> المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها.
 +
 +
* <code>[[Kotlin/kotlin.text/mapIndexed|mapIndexed()]]‎</code>: تعيد لائحة مكونة من نتائج تطبيق الدالة <code>transform</code> المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها وعلى فهارسها.
 +
 
==مصادر==
 
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/map-indexed.html صفحة الدالة text.mapIndexedNotNull()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/map-indexed-not-null.html صفحة الدالة text.mapIndexedNotNull()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Method]]
 
[[تصنيف:Kotlin Method]]

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

تعيد الدالة mapIndexedNotNull()لائحة مكونة من النتائج غير المعدومة (non-nul) لتطبيق الدالة transform المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها وعلى فهارسها.

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

inline fun <R : Any> CharSequence.mapIndexedNotNull(
    transform: (index: Int, Char) -> R?
): List<R>

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

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

لائحة.

أمثلة

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

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

fun main(args: Array<String>) {
val str = "Hsoub Wiki" 
   
print( str.mapIndexedNotNull { index, char -> if (index < 5) index + char.toInt() else null} ) // [72, 116, 113, 120, 102]
}

انظر أيضًا

  • lineSequence(): تقسّم سلسلة الحروف التي استٌدعيت عبرها إلى سلسلة مكونة من سطور مفصولة بأيٍّ من سلاسل الحروف التالية CRLF أو LF أو CR.
  • map(): تعيد‎ لائحة مكونة من نتائج تطبيق الدالة transform المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها.
  • mapIndexed(): تعيد لائحة مكونة من نتائج تطبيق الدالة transform المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها وعلى فهارسها.

مصادر