الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/sumByDouble»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code> | <noinclude>{{DISPLAYTITLE: الدالة <code>CharSequence.sumByDouble()</code> في Kotlin}}</noinclude> | ||
تجمع الدالة <code>sumByDouble()</code> جميع نواتج تطبيق دالة معيَّنة على كل محرف من محارف [[Kotlin/CharSequence|سلسلة المحارف]] التي استُدعيت معها. | |||
الفرق بين الدالة <code>sumByDouble()</code> والدالة <code>[[Kotlin/kotlin.text/sumBy|sumBy()]]</code> هو في نوع القيمة التي تستطيع الدالة الممرَّر إلى كلٍّ منهما إعادتها، إذ تعيد الدالة المُمرَّرة إلى <nowiki/>[[Kotlin/collections/sumBy|<code>sumBy()</code>]] عددًّا صحيحًا (integer) بينما يمكن أن تعيد الدالة الممررة إلى <code>sumByDouble()</code> عددًا عشريًّا مضاعفًا (double). | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
سطر 6: | سطر 9: | ||
selector: (Char) -> Double | selector: (Char) -> Double | ||
): Double | ): Double | ||
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> | </syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> التي تدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة <nowiki/>[[Kotlin/inline functions|الدوال المباشرة (inline functions)]]). | ||
== المعاملات == | |||
=== <code>selector</code> === | |||
الدالة التي يراد تطبيقها على كل محرف من محارف [[Kotlin/CharSequence/index|سلسلة المحارف]] المعطاة وتجميع الناتج الذي تعيده. | |||
==القيم المعادة== | ==القيم المعادة== | ||
عدد | يعاد [[Kotlin/Double|عدد عشري مضاعف]] يمثل القيمة الناتجة عن جمع نواتج تطبيق الدالة <code>selector</code> على كل عنصر من عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] المعطاة. | ||
==أمثلة== | ==أمثلة== | ||
مثالٌ على استعمال الدالة <code>()sumByDouble</code><nowiki/>:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val str = "wiki.hsoub.com" | val str = "wiki.hsoub.com" | ||
println(str.sumByDouble {it.toDouble()}) // 1392.0 | println(str.sumByDouble { it.toDouble() }) // 1392.0 | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
* <code>[[Kotlin/kotlin.text/sumBy|sumBy()]]</code>: | * الدالة <code>[[Kotlin/kotlin.text/sumBy|sumBy()]]</code>: تجمع جميع نواتج تطبيق دالة معيَّنة على كل محرف من محارف [[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها. | ||
* <code>[[Kotlin/kotlin.text/ | * الدالة <code>[[Kotlin/kotlin.text/fold|fold()]]</code>: تجمِّع تراكميًّا ناتج تطبيق عملية معينة على كل محرف من محارف السلسلة المستدعاة معها (من اليسار إلى اليمين) والقيمة التراكمية الحالية مع قيمة أولية إن أعطيت. | ||
* الدالة <code>[[Kotlin/kotlin.text/groupingBy|groupingBy()]]</code>: تُنشئ موردًا (source) من النوع <code>Grouping</code> من <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي استُدعيت معها لاستخدامه لاحقًا مع عمليات التجميع (group-and-fold operations) وذلك باستخدام الدالة <code>keySelector</code> المُمرّرة إليها لاستخلاص مفتاح من كل محرف. | |||
* <code>[[Kotlin/kotlin.text/ | |||
==مصادر== | ==مصادر== | ||
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/sum-by-double.html الدالة | *[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/sum-by-double.html صفحة الدالة CharSequence.sumByDouble() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin | [[تصنيف:Kotlin Function]] | ||
[[تصنيف:Kotlin Text]] |
المراجعة الحالية بتاريخ 11:28، 8 سبتمبر 2018
تجمع الدالة sumByDouble()
جميع نواتج تطبيق دالة معيَّنة على كل محرف من محارف سلسلة المحارف التي استُدعيت معها.
الفرق بين الدالة sumByDouble()
والدالة sumBy()
هو في نوع القيمة التي تستطيع الدالة الممرَّر إلى كلٍّ منهما إعادتها، إذ تعيد الدالة المُمرَّرة إلى sumBy()
عددًّا صحيحًا (integer) بينما يمكن أن تعيد الدالة الممررة إلى sumByDouble()
عددًا عشريًّا مضاعفًا (double).
البنية العامة
inline fun CharSequence.sumByDouble(
selector: (Char) -> Double
): Double
يُلاحَظ وجود الكلمة المفتاحية inline
التي تدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)).
المعاملات
selector
الدالة التي يراد تطبيقها على كل محرف من محارف سلسلة المحارف المعطاة وتجميع الناتج الذي تعيده.
القيم المعادة
يعاد عدد عشري مضاعف يمثل القيمة الناتجة عن جمع نواتج تطبيق الدالة selector
على كل عنصر من عناصر المصفوفة أو المجموعة المعطاة.
أمثلة
مثالٌ على استعمال الدالة ()sumByDouble
:
fun main(args: Array<String>) {
val str = "wiki.hsoub.com"
println(str.sumByDouble { it.toDouble() }) // 1392.0
}
انظر أيضًا
- الدالة
sumBy()
: تجمع جميع نواتج تطبيق دالة معيَّنة على كل محرف من محارف سلسلة المحارف التي استُدعيت معها. - الدالة
fold()
: تجمِّع تراكميًّا ناتج تطبيق عملية معينة على كل محرف من محارف السلسلة المستدعاة معها (من اليسار إلى اليمين) والقيمة التراكمية الحالية مع قيمة أولية إن أعطيت. - الدالة
groupingBy()
: تُنشئ موردًا (source) من النوعGrouping
من سلسلة المحارف التي استُدعيت معها لاستخدامه لاحقًا مع عمليات التجميع (group-and-fold operations) وذلك باستخدام الدالةkeySelector
المُمرّرة إليها لاستخلاص مفتاح من كل محرف.