الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/filterIndexed»
< Kotlin | kotlin.text
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>text.filterIndexed()</code> في لغة Kotlin}}</noinclude> تعيد الدالة <code>filterIndexed()</code> Kot...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>text.filterIndexed()</code> في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة <code>text.filterIndexed()</code> في لغة Kotlin}}</noinclude> | ||
تضيف الدالة <code>filterIndexed()</code> كل الحروف من [[Kotlin/CharSequence/index|سلسلة الحروف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها والتي تحقق الشرط المنطقي <code>predicate</code> إلى الوسيط المُمرّر <code>destination</code>. يمرَّر فهرس كل عنصر وقيمته إلى الدالة <code>predicate()</code> ثم تعيد بدورها قيمة منطقيَّة. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
inline fun CharSequence. | inline fun <C> CharSequence.filterIndexedTo( | ||
destination: C, | |||
predicate: (index: Int, Char) -> Boolean | |||
): C | |||
predicate: (Char) -> Boolean | |||
): | |||
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | </syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | ||
==القيم المعادة== | ==القيم المعادة== | ||
الوسيط المُمرّر <code>destination</code>. | |||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>()filterIndexed</code> مع سلسلة نصية=== | ===استخدام الدالة <code>()filterIndexed</code> مع سلسلة نصية=== | ||
تعرِّف الشيفرة الآتية [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، ثمَّ تستدعي الدالة <code>()filterIndexed</code> عبرها مع تمرير | تعرِّف الشيفرة الآتية [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، وتعرّف كائنا من الصنف [[Kotlin/kotlin.text/StringBuilder/index|<code>StringBuilder</code>]] باسم <code>sb</code>، ثمَّ تستدعي الدالة <code>()filterIndexed</code> عبرها مع تمرير <code>sb</code> ودالة منطقية كوسيط، <nowiki/>ثمَّ تطبع الناتج:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val str = " | val str = "Hsoub Academy" | ||
val list = StringBuilder() | |||
println(str. | println(str.filterIndexedTo (list){index, char -> (char.toByte() < index + 97) }) // Hb Acade | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
سطر 29: | سطر 28: | ||
==مصادر== | ==مصادر== | ||
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/filter.html الدالة text.filterIndexed() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | *[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/filter-indexed-to.html الدالة text.filterIndexed() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 19:17، 8 يوليو 2018
تضيف الدالة filterIndexed()
كل الحروف من سلسلة الحروف أو السلسلة النصية التي استُدعيت عبرها والتي تحقق الشرط المنطقي predicate
إلى الوسيط المُمرّر destination
. يمرَّر فهرس كل عنصر وقيمته إلى الدالة predicate()
ثم تعيد بدورها قيمة منطقيَّة.
البنية العامة
inline fun <C> CharSequence.filterIndexedTo(
destination: C,
predicate: (index: Int, Char) -> Boolean
): C
يُلاحَظ وجود الكلمة المفتاحية inline
للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).
القيم المعادة
الوسيط المُمرّر destination
.
أمثلة
استخدام الدالة ()filterIndexed
مع سلسلة نصية
تعرِّف الشيفرة الآتية سلسلة نصية باسم str
، وتعرّف كائنا من الصنف StringBuilder
باسم sb
، ثمَّ تستدعي الدالة ()filterIndexed
عبرها مع تمرير sb
ودالة منطقية كوسيط، ثمَّ تطبع الناتج:
fun main(args: Array<String>) {
val str = "Hsoub Academy"
val list = StringBuilder()
println(str.filterIndexedTo (list){index, char -> (char.toByte() < index + 97) }) // Hb Acade
}
انظر أيضًا
elementAt()
: تعيد الحرف الموجود في الفهرس المُحدّد في سلسلة الحروف التي استُدعيت عبرها، في حال كان الفهرس خارج الحدود فستطلق الاستثناءIndexOutOfBoundsException
.
compareTo()
: تقارن بين سلسلتين نصيتين.