الدالة CharSequence.sumBy()
في Kotlin
< Kotlin | kotlin.text
تجمع الدالة sumBy()
جميع نواتج تطبيق دالة معيَّنة على كل محرف من محارف سلسلة المحارف التي استُدعيت معها.
الفرق بين الدالة sumBy()
والدالة sumByDouble()
هو في نوع القيمة التي تستطيع الدالة الممرَّر إلى كلٍّ منهما إعادتها، إذ تعيد الدالة المُمرَّرة إلى sumBy()
عددًّا صحيحًا (integer) بينما يمكن أن تعيد الدالة الممرَّرة إلى sumByDouble()
عددًا عشريًّا مضاعفًا (double).
البنية العامة
inline fun CharSequence.sumBy(selector: (Char) -> Int): Int
يُلاحَظ وجود الكلمة المفتاحية inline
التي تدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)).
القيم المعادة
يعاد عدد صحيح يمثل القيمة الناتجة عن جمع نواتج تطبيق الدالة selector
على كل محرف من محارف السلسلة المعطاة.
أمثلة
مثال على استعمال الدالة ()sumBy
:
fun main(args: Array<String>) {
val str = "wiki.hsoub.com"
println(str.sumBy { it.toInt() }) // 1392
}
انظر أيضًا
- الدالة
sumByDouble()
: تجمع جميع نواتج تطبيق دالة معيَّنة على كل محرف من محارف سلسلة المحارف التي استُدعيت معها. - الدالة
fold()
: تجمِّع تراكميًّا ناتج تطبيق عملية معينة على كل محرف من محارف السلسلة المستدعاة معها (من اليسار إلى اليمين) والقيمة التراكمية الحالية مع قيمة أولية إن أعطيت. - الدالة
groupBy()
: تجمِّع محارف السلسلة التي استُدعيت معها في مجموعات، إذ تطبق دالة محدَّدة على كل عنصر ثمَّ تعاد خريطة تحوي مجموعاتٍ مفتاحُ كلِّ واحدةٍ منها مرتبطٌ بقائمة من المحارف المقابلة.