الدالة CharSequence.reduceRight()‎ في Kotlin

من موسوعة حسوب

تُراكِم الدالة reduceRight()‎ قيمة محرف بدءًا من المحرف الأول عبر تطبيق عملية معينة من يمين سلسلة المحارف المعطاة إلى يسارها على القيمة المتراكمة الحالية وعلى الحرف التالي ثم تُعيد قيمة المحرف النهائي الناتج.

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

inline fun CharSequence.reduceRight(
    operation: (Char, acc: Char) -> Char
): Char

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

المعاملات

operation

دالة يراد تطبيقها على كل محرف من محارف السلسلة المعطاة. يمرر إليها القيمة المتراكمة الحالية (التي تمثل محرفًا) وقيمة المحرف الحالي الذي ستطبق عليه هذه الدالة ثم تحسب قيمة المحرف المتراكم التالي.

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

يعاد محرفُ يمثل القيمة النهائية الناتجة عن تطبيق العملية operation بشكل تراكمي من اليمين إلى اليسار على كل محرف من محارف السلسلة المعطاة.

أمثلة

مثالٌ على استعمال الدالة ()reduceRight:

fun main(args: Array<String>) {
    val str = "hsoub wiki"

    val max = str.reduceRight { max, element -> if (max > element) max else element }
    print(max) // w
}

انظر أيضًا

  • الدالة reduce(): قيمة محرف بدءًا من المحرف الأول عبر تطبيق عملية معينة من يسار سلسلة المحارف المعطاة إلى يمينها على القيمة المتراكمة الحالية وعلى الحرف التالي ثم تُعيد قيمة المحرف النهائي الناتج.
  • الدالة reduceRightIndexed()‎: تُراكِم قيمة محرف بدءًا من المحرف الأول من السلسلة المعطاة عبر تطبيق عملية معينة من يمين هذه السلسلة إلى يسارها على القيمة المتراكمة الحالية وفهرس المحرف الحالي وقيمته ثم تُعيد قيمة المحرف النهائي الناتج.
  • الدالة foldRight()‎: تجمِّع تراكميًّا ناتج تطبيق عملية معينة على كل محرف من محارف السلسلة المستدعاة معها (بدءًا من اليمين إلى اليسار) والقيمة التراكمية الحالية مع قيمة أولية إن أعطيت.

مصادر