الفرق بين المراجعتين ل"Kotlin/collections/sumByDouble"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>sumByDouble()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>sumByDouble()‎</code> مجموع ا...')
 
سطر 4: سطر 4:
 
==البنية العامة==
 
==البنية العامة==
 
يمكن استدعاء الدالة<code>sumByDouble()‎</code> عبر [[Kotlin/Array|المصفوفات]]:<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
 
يمكن استدعاء الدالة<code>sumByDouble()‎</code> عبر [[Kotlin/Array|المصفوفات]]:<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.sumBy(selector: (T) -> Int): Int
+
inline fun <T> Array<out T>.sumByDouble(
inline fun ByteArray.sumBy(selector: (Byte) -> Int): Int
+
    selector: (T) -> Double
inline fun ShortArray.sumBy(selector: (Short) -> Int): Int
+
): Double
inline fun IntArray.sumBy(selector: (Int) -> Int): Int
+
inline fun ByteArray.sumByDouble(
inline fun LongArray.sumBy(selector: (Long) -> Int): Int
+
    selector: (Byte) -> Double
inline fun FloatArray.sumBy(selector: (Float) -> Int): Int
+
): Double
inline fun DoubleArray.sumBy(selector: (Double) -> Int): Int
+
inline fun ShortArray.sumByDouble(
inline fun BooleanArray.sumBy(
+
    selector: (Short) -> Double
     selector: (Boolean) -> Int
+
): Double
): Int
+
inline fun IntArray.sumByDouble(
inline fun CharArray.sumBy(selector: (Char) -> Int): Int
+
    selector: (Int) -> Double
 +
): Double
 +
inline fun LongArray.sumByDouble(
 +
    selector: (Long) -> Double
 +
): Double
 +
inline fun FloatArray.sumByDouble(
 +
    selector: (Float) -> Double
 +
): Double
 +
inline fun DoubleArray.sumByDouble(
 +
    selector: (Double) -> Double
 +
): Double
 +
inline fun BooleanArray.sumByDouble(
 +
     selector: (Boolean) -> Double
 +
): Double
 +
inline fun CharArray.sumByDouble(
 +
    selector: (Char) -> Double
 +
): Double
  
 
</syntaxhighlight>يمكن استدعاء الدالة<code>sumByDouble()‎</code> عبر  [[Kotlin/collections|المجموعات]] :<syntaxhighlight lang="kotlin">
 
</syntaxhighlight>يمكن استدعاء الدالة<code>sumByDouble()‎</code> عبر  [[Kotlin/collections|المجموعات]] :<syntaxhighlight lang="kotlin">
inline fun <T> Iterable<T>.sumBy(selector: (T) -> Int): Int
+
inline fun <T> Iterable<T>.sumByDouble(
 
+
    selector: (T) -> Double
 +
): Double
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
  
سطر 30: سطر 47:
 
val array = arrayOf(3, 5, 7, 2 , 6, 9)
 
val array = arrayOf(3, 5, 7, 2 , 6, 9)
 
      
 
      
println(array.sumBy {it*it} )// 204
+
println(array.sumByDouble {it + 0.9} )// 37.4
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==أنظر أيضًا==
 
==أنظر أيضًا==
 
* <code>[[Kotlin/collections/sum|sum()]]</code>‎ : تعيد  مجموع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت عبرها.
 
* <code>[[Kotlin/collections/sum|sum()]]</code>‎ : تعيد  مجموع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت عبرها.
 +
* <code>[[Kotlin/collections/sumBy|sumBy()]]</code>‎ : تعيد مجموع  العناصر المُعادة من الدالة <code>selector</code> مطبقةً على عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها. 
 
* <code>[[Kotlin/collections/subtract|subtract()]]</code>‎ : تعيد [[Kotlin/Set|مجموعةً]] (<code>Set</code>)  تضم عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت عبرها والتي لا توجد في  [[Kotlin/collections|المجموعة]] المُمرّرة. 
 
* <code>[[Kotlin/collections/subtract|subtract()]]</code>‎ : تعيد [[Kotlin/Set|مجموعةً]] (<code>Set</code>)  تضم عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Iterable|المجموعة التكرارية]] التي استُدعيت عبرها والتي لا توجد في  [[Kotlin/collections|المجموعة]] المُمرّرة. 
  
 
==مصادر==
 
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sum-by.html الدالة  sumByDouble()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sum-by-double.html الدالة  sumByDouble()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Functions]]
 
[[تصنيف:Kotlin Functions]]

مراجعة 17:33، 23 يونيو 2018

تعيد الدالةsumByDouble()‎ مجموع العناصر المُعادة من الدالة selector مطبقةً على عناصر المصفوفة أو المجموعة التي استُدعيت عبرها.

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

يمكن استدعاء الدالةsumByDouble()‎ عبر المصفوفات:

inline fun <T> Array<out T>.sumByDouble(
    selector: (T) -> Double
): Double 
inline fun ByteArray.sumByDouble(
    selector: (Byte) -> Double
): Double 
inline fun ShortArray.sumByDouble(
    selector: (Short) -> Double
): Double 
inline fun IntArray.sumByDouble(
    selector: (Int) -> Double
): Double 
inline fun LongArray.sumByDouble(
    selector: (Long) -> Double
): Double 
inline fun FloatArray.sumByDouble(
    selector: (Float) -> Double
): Double 
inline fun DoubleArray.sumByDouble(
    selector: (Double) -> Double
): Double 
inline fun BooleanArray.sumByDouble(
    selector: (Boolean) -> Double
): Double 
inline fun CharArray.sumByDouble(
    selector: (Char) -> Double
): Double

يمكن استدعاء الدالةsumByDouble()‎ عبر المجموعات :

inline fun <T> Iterable<T>.sumByDouble(
    selector: (T) -> Double
): Double

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

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

مجموع العناصر المُعادة من الدالة selector مطبقةً على عناصر المصفوفة أو المجموعة التي استُدعيت عبرها.

أمثلة

استخدام الدالة ()sumByDouble مع المصفوفات

تعرف الشيفرة الآتية  مصفوفة باسم array مكونة من ستة أعداد باستخدام الدالة ()arrayOf‎، ثم تستخدم الدالة()sumByDouble  على arrayمع تمرير دالة كوسيط، ثم تطبع الناتج:

fun main(args: Array<String>) {
val array = arrayOf(3, 5, 7, 2 , 6, 9)
    
println(array.sumByDouble {it + 0.9} )// 37.4
}

أنظر أيضًا

مصادر