الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/mapIndexedNotNull»
< Kotlin | kotlin.text
أنشأ الصفحة ب'<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>mapIndexedNotNull()</code> [[Kotlin/String|لائحة]] مكونة من النتائج غير المعدومة (non-nul) لتطبيق الدالة <code>transform</code> المُمرّرة على عناصر [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها وعلى فهارسها. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
inline fun <R> CharSequence. | 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. | 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
المُمرّرة على عناصر سلسلة الحروف التي استٌدعيت عبرها وعلى فهارسها.