الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/foldRightIndexed»
جميل-بيلوني (نقاش | مساهمات) مراجعة وتدقيق. |
جميل-بيلوني (نقاش | مساهمات) لا ملخص تعديل |
||
سطر 33: | سطر 33: | ||
* الدالة <code>[[Kotlin/kotlin.text/foldIndexed|foldIndexed()]]</code>: تجمِّع تراكميًّا ناتج تطبيق عملية معينة على فهرس كل محرف من محارف السلسلة المستدعاة معها (من اليسار إلى اليمين) وقيمته والقيمة التراكمية الحالية مع قيمة أولية إن أعطيت. | * الدالة <code>[[Kotlin/kotlin.text/foldIndexed|foldIndexed()]]</code>: تجمِّع تراكميًّا ناتج تطبيق عملية معينة على فهرس كل محرف من محارف السلسلة المستدعاة معها (من اليسار إلى اليمين) وقيمته والقيمة التراكمية الحالية مع قيمة أولية إن أعطيت. | ||
* الدالة <code>[[Kotlin/kotlin.text/foldRight|foldRight()]]</code>: تجمِّع تراكميًّا ناتج تطبيق عملية معينة على كل محرف من محارف [[Kotlin/Charsequence|السلسلة]] المستدعاة معها (بدءًا من اليمين إلى اليسار) والقيمة التراكمية الحالية مع قيمة أولية إن أعطيت. | * الدالة <code>[[Kotlin/kotlin.text/foldRight|foldRight()]]</code>: تجمِّع تراكميًّا ناتج تطبيق عملية معينة على كل محرف من محارف [[Kotlin/Charsequence|السلسلة]] المستدعاة معها (بدءًا من اليمين إلى اليسار) والقيمة التراكمية الحالية مع قيمة أولية إن أعطيت. | ||
* الدالة <code>[[Kotlin/kotlin.text/reduceRightIndexed|reduceRightIndexed()]]</code>: تُراكِم قيمة محرف بدءًا من المحرف الأول من السلسلة المعطاة عبر تطبيق عملية معينة من يمين هذه السلسلة إلى يسارها على القيمة المتراكمة الحالية وفهرس المحرف الحالي وقيمته ثم تُعيد قيمة المحرف النهائي الناتج. | |||
* الدالة <code>[[Kotlin/kotlin.text/filter|filter()]]</code>: ترشِّح محارف <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] أو السلسلة النصية المعطاة بناءً على قيمة المحرف التي تحقِّق شرطًا معيَّنًا. | * الدالة <code>[[Kotlin/kotlin.text/filter|filter()]]</code>: ترشِّح محارف <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] أو السلسلة النصية المعطاة بناءً على قيمة المحرف التي تحقِّق شرطًا معيَّنًا. | ||
المراجعة الحالية بتاريخ 04:40، 5 سبتمبر 2018
تجمِّع الدالة foldRightIndexed()
تراكميًّا ناتج تطبيق عملية معينة على فهرس كل محرف من محارف السلسلة المستدعاة معها (بدءًا من اليمين إلى اليسار) وقيمته والقيمة التراكمية الحالية مع قيمة أولية إن أعطيت.
البنية العامة
inline fun <R> CharSequence.foldRightIndexed(
initial: R,
operation: (index: Int, Char, acc: R) -> R
): R
وجود الكلمة المفتاحية inline
يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).
المعاملات
initial
قيمة أولية يراد إضافتها مع ناتج تطبيق الدالة operation
على أول محرف من محارف السلسلة لبدء عملية التجميع.
operation
دالةٌ تمثل العملية المراد تطبيقها على كل محرف من محارف السلسلة، إذ يمرَّر إليها فهرس المحرف index
والقيمة المجمعة الحالية acc
وكل محرف من محارف السلسلة char
، وتعيد القيمة المجمَّعة acc
التالية.
القيم المعادة
يعاد الناتج النهائي التراكمي لتطبيق العملية operation
المعطاة على كل محرف من محارف السلسلة (بدءًا من اليمين إلى اليسار) مع فهرس ذلك المحرف والقيمة المجمعة الحالية آنذاك مضافًا إليه القيمة الأوليةinitial
إن أعطيت.
أمثلة
مثالٌ على استعمال الدالة ()foldRightIndexed
:
fun main(args: Array<String>) {
val str = "soub wiki"
val acc= str.foldRightIndexed ("H") { index, element, acc ->
if (index < 4) acc + element else acc
}
print(acc) // Hbuos
}
انظر أيضًا
- الدالة
foldIndexed()
: تجمِّع تراكميًّا ناتج تطبيق عملية معينة على فهرس كل محرف من محارف السلسلة المستدعاة معها (من اليسار إلى اليمين) وقيمته والقيمة التراكمية الحالية مع قيمة أولية إن أعطيت. - الدالة
foldRight()
: تجمِّع تراكميًّا ناتج تطبيق عملية معينة على كل محرف من محارف السلسلة المستدعاة معها (بدءًا من اليمين إلى اليسار) والقيمة التراكمية الحالية مع قيمة أولية إن أعطيت. - الدالة
reduceRightIndexed()
: تُراكِم قيمة محرف بدءًا من المحرف الأول من السلسلة المعطاة عبر تطبيق عملية معينة من يمين هذه السلسلة إلى يسارها على القيمة المتراكمة الحالية وفهرس المحرف الحالي وقيمته ثم تُعيد قيمة المحرف النهائي الناتج. - الدالة
filter()
: ترشِّح محارف سلسلة المحارف أو السلسلة النصية المعطاة بناءً على قيمة المحرف التي تحقِّق شرطًا معيَّنًا.