الدالة text.fold()
في لغة Kotlin
< Kotlin | kotlin.text
تضيف الدالة fold()
كل الحروف من سلسلة الحروف التي استُدعيت عبرها والتي تحقق الشرط المنطقي predicate
إلى الوسيط المُمرّر destination.
البنية العامة
inline fun <C> CharSequence.filterTo(
destination: C,
predicate: (Char) -> Boolean
): C
يُلاحَظ وجود الكلمة المفتاحية inline
للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).
القيم المعادة
الوسيط المُمرّر destination
.
أمثلة
استخدام الدالة ()fold
مع سلسلة نصية
تعرِّف الشيفرة الآتية سلسلة نصية باسم str
، وتعرّف كائنا من الصنف StringBuilder
باسم sb
، ثمَّ تستدعي الدالة ()fold
عبرها مع تمرير sb
ودالة منطقية كوسيطين، ثمَّ تطبع الناتج:
fun main(args: Array<String>) {
val str = "abcdef"
val sb = StringBuilder()
str.filterTo (sb) {it<'c'}
println(sb) // ab
}
انظر أيضًا
filterIndexed()
: تعيد الدالةfilterIndexed()
كل الحروف من سلسلة الحروف التي استُدعيت عبرها والتي تحقق الشرط المنطقي. يمرَّر فهرس كل عنصر وقيمته إلى الدالةpredicate()
ثم تعيد بدورها قيمة منطقيَّة.
filterIndexedTo()
: تضيف الدالةfilterIndexedTo()
كل الحروف من سلسلة الحروف التي استُدعيت عبرها والتي تحقق الشرط المنطقيpredicate
إلى الوسيط المُمرّرdestination
. يمرَّر فهرس كل عنصر وقيمته إلى الدالةpredicate()
ثم تعيد بدورها قيمة منطقيَّة.
elementAt()
: تعيد الحرف الموجود في الفهرس المُحدّد في سلسلة الحروف التي استُدعيت عبرها، في حال كان الفهرس خارج الحدود فستطلق الاستثناءIndexOutOfBoundsException
.