الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/reduceIndexed»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>text.reduceIndexed()</code> في لغة Kotlin}}</noinclude> تُراكِم الدالة<code>reduceIndexed()</code>...' |
جميل-بيلوني (نقاش | مساهمات) مراجعة وتدقيق. |
||
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code> | <noinclude>{{DISPLAYTITLE: الدالة <code>CharSequence.reduceIndexed()</code> في Kotlin}}</noinclude> | ||
تُراكِم الدالة<code>reduceIndexed()</code> | تُراكِم الدالة <code>reduceIndexed()</code> قيمة محرف بدءًا من المحرف الأول من السلسلة المعطاة عبر تطبيق عملية معينة من يسار هذه السلسلة إلى يمينها على القيمة المتراكمة الحالية وفهرس المحرف الحالي وقيمته ثم تُعيد قيمة المحرف النهائي الناتج. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
inline fun | inline fun CharSequence.reduceIndexed( | ||
operation: (index: Int, acc: Char, Char) -> Char | |||
operation: (acc: | ): Char | ||
): | </syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة <nowiki/>[[Kotlin/inline functions|الدوال المباشرة (inline functions)]]). | ||
</syntaxhighlight> | |||
== المعاملات == | |||
=== <code>operation</code> === | |||
دالة يراد تطبيقها على كل محرف من محارف السلسلة المعطاة. يمرر إليها فهرس المحرف الحالي -الذي ستطبق عليه هذه الدالة-، والقيمة المتراكمة الحالية (التي تمثل محرفًا)، وقيمة ذلك المحرف نفسه ثم تحسب قيمة المحرف المتراكم التالي. | |||
==القيم المعادة== | ==القيم المعادة== | ||
القيمة النهائية | يعاد [[Kotlin/Char|محرفُ]] يمثل القيمة النهائية الناتجة عن تطبيق العملية <code>operation</code> بشكل تراكمي من اليسار إلى اليمين على كل محرف من محارف [[Kotlin/CharSequence/index|السلسلة]] المعطاة. | ||
==أمثلة== | ==أمثلة== | ||
مثالٌ على استعمال الدالة <code>()reduceIndexed</code><nowiki/>:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | |||
val str = "hsoub wiki" | |||
val str = " | |||
val | val max = str.reduceIndexed { index, max, element -> if (index < 5 && max > element) max else element } | ||
print( | print(max) // i | ||
} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
* <code>[[Kotlin/kotlin.text/ | * الدالة <code>[[Kotlin/kotlin.text/reduceRightIndexed|reduceRightIndexed()]]</code>: تُراكِم قيمة محرف بدءًا من المحرف الأول من السلسلة المعطاة عبر تطبيق عملية معينة من يمين هذه السلسلة إلى يسارها على القيمة المتراكمة الحالية وفهرس المحرف الحالي وقيمته ثم تُعيد قيمة المحرف النهائي الناتج. | ||
* <code>[[Kotlin/kotlin.text/ | * الدالة <code>[[Kotlin/kotlin.text/reduce|reduce()]]</code>: قيمة محرف بدءًا من المحرف الأول عبر تطبيق عملية معينة من يسار سلسلة المحارف المعطاة إلى يمينها على القيمة المتراكمة الحالية وعلى الحرف التالي ثم تُعيد قيمة المحرف النهائي الناتج. | ||
* الدالة <code>[[Kotlin/kotlin.text/foldIndexed|foldIndexed()]]</code>: تجمِّع تراكميًّا ناتج تطبيق عملية معينة على فهرس كل محرف من محارف السلسلة المستدعاة معها (من اليسار إلى اليمين) وقيمته والقيمة التراكمية الحالية مع قيمة أولية إن أعطيت. | |||
==مصادر== | ==مصادر== | ||
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/ | *[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/reduce-indexed.html صفحة الدالة CharSequence.reduceIndexed() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin | [[تصنيف:Kotlin Function]] | ||
[[تصنيف:Kotlin Text]] | |||
[[تصنيف:Kotlin CharSequence]] |
المراجعة الحالية بتاريخ 04:38، 5 سبتمبر 2018
تُراكِم الدالة reduceIndexed()
قيمة محرف بدءًا من المحرف الأول من السلسلة المعطاة عبر تطبيق عملية معينة من يسار هذه السلسلة إلى يمينها على القيمة المتراكمة الحالية وفهرس المحرف الحالي وقيمته ثم تُعيد قيمة المحرف النهائي الناتج.
البنية العامة
inline fun CharSequence.reduceIndexed(
operation: (index: Int, acc: Char, Char) -> Char
): Char
وجود الكلمة المفتاحية inline
يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).
المعاملات
operation
دالة يراد تطبيقها على كل محرف من محارف السلسلة المعطاة. يمرر إليها فهرس المحرف الحالي -الذي ستطبق عليه هذه الدالة-، والقيمة المتراكمة الحالية (التي تمثل محرفًا)، وقيمة ذلك المحرف نفسه ثم تحسب قيمة المحرف المتراكم التالي.
القيم المعادة
يعاد محرفُ يمثل القيمة النهائية الناتجة عن تطبيق العملية operation
بشكل تراكمي من اليسار إلى اليمين على كل محرف من محارف السلسلة المعطاة.
أمثلة
مثالٌ على استعمال الدالة ()reduceIndexed
:
fun main(args: Array<String>) {
val str = "hsoub wiki"
val max = str.reduceIndexed { index, max, element -> if (index < 5 && max > element) max else element }
print(max) // i
}
انظر أيضًا
- الدالة
reduceRightIndexed()
: تُراكِم قيمة محرف بدءًا من المحرف الأول من السلسلة المعطاة عبر تطبيق عملية معينة من يمين هذه السلسلة إلى يسارها على القيمة المتراكمة الحالية وفهرس المحرف الحالي وقيمته ثم تُعيد قيمة المحرف النهائي الناتج.
- الدالة
reduce()
: قيمة محرف بدءًا من المحرف الأول عبر تطبيق عملية معينة من يسار سلسلة المحارف المعطاة إلى يمينها على القيمة المتراكمة الحالية وعلى الحرف التالي ثم تُعيد قيمة المحرف النهائي الناتج. - الدالة
foldIndexed()
: تجمِّع تراكميًّا ناتج تطبيق عملية معينة على فهرس كل محرف من محارف السلسلة المستدعاة معها (من اليسار إلى اليمين) وقيمته والقيمة التراكمية الحالية مع قيمة أولية إن أعطيت.