التابع Array.sum‎ في روبي

من موسوعة حسوب
< Ruby‏ | Array
مراجعة 17:32، 8 سبتمبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>Array.sum‎</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby Arra...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يجمع التابع sum عناصر المصفوفة التي استُدعيت معه مع بعضها بعضًا. إن مُرِّرت كتلة برمجية إلى هذا التابع، فستُطبَّق تلك الكتلة على كل عنصر من عناصر المصفوفة ثم ستُجمَع النواتج المعادة لجميع العناصر. في حال كانت المصفوفة فارغة، ستُعاد القيمة المُمرّرة إلى هذا التابع. يمكن استخدام هذا التابع مع المصفوفات التي تحوي قيمًا غير عددية بتحديد قيمة مناسبة للوسيط init. يجدر التنبيه إلى أنّ التابعين join و flatten هما أسرع من التابع sum بالنسبة للمصفوفات التي تضم سلاسل نصية أو مصفوفات فرعية متشعبة. انتبه إلى أنَّ التابع sum قد لا يحترم توابع إعادة تعريف المعامل + مثل +.Integer.

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

 sum(init=0)  number
sum(init=0) {|e| expr }  number

المعاملات

init العدد الذي يراد جمعه مع عناصر المصفوفة المعطاة.

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

يعاد عدد يمثل ناتج جمع عناصر المصفوفة المعطاة بالإضافة إلى قيمة المعامل init، أو القيم التي تعيدها الكتلة block بعد تطبيقها على كل عنصر من عناصر تلك المصفوفة بالإضافة إلى قيمة المعامل init أيضًا.

أمثلة

أمثلة على استخدام التابع sum‎:

 [].sum                             #=> 0
[].sum(0.0)                        #=> 0.0
[1, 2, 3].sum                      #=> 6
[3, 5.5].sum                       #=> 8.5
[2.5, 3.0].sum(0.0) {|e| e * e }   #=> 15.25
[Object.new].sum                   #=> TypeError
أمثلة على استخدام التابع sum على مصفوفة تحوي قيمًا غير عددية:
["a", "b", "c"].sum("")            #=> "abc"
[[1], [[2]], [3]].sum([])          #=> [1, [2], 3]

انظر أيضًا

  • المعامل +: يجمع مصفوفتين معًا في مصفوفة واحدة جديدة.
  • التابع join: يجمع جميع عناصر المصفوفة التي استُدعيت معها سويةً في سلسلة نصية ويفصل بينها بفاصل معين.

مصادر

  • قسم التابع sum في الصنف Array في توثيق روبي الرسمي.