• 0

كيف أحسب متوسط حسابي من مصفوفة روبي ؟

أريد أن احسب مُعدل مجموعة من الأعداد موجودة في مصفوفة روبي، فمثلا لو كانت لدي هذه المصفوفة:

[0,4,8,2,5,0,2,6]

فسيكون معدلها 3.374، فكيف أستطيع أن أقوم بذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك العديد من الطرق لحساب معدل ما من مجموعة من الأعداد في مصفوفة معينة في الروبي، فمثلا يمكنك استخدام التابع inject لحساب مجموع الأعداد ومن ثم استخدام التابع size لحساب عدد الأعداد لتقسيم مجموع الأعداد على عددها كالمثال التالي:

arr = [5, 6, 7, 8]
arr.inject{ |sum, el| sum + el }.to_f / arr.size
=> 6.5

لاحظ أننا قمنا باستخدام .to_f والتي سوف تجعلك تتجنب مشاكل عمليات تقسيم الأعداد الصحيحة، ويمكنك أيضا القيام بذلك بطريقة أخرى دون استخدام .to_f كما في هذا المثال:

arr = [5, 6, 7, 8]
arr.inject(0.0) { |sum, el| sum + el } / arr.size
=> 6.5

كما توجد طريقة أقصر لفعل ذلك عن طريق استخدام التوابع instance_eval و reduce لحساب المعدل كما في هذا المثال:

a = [0,4,8,2,5,0,2,6]
a.instance_eval { reduce(:+) / size.to_f } #=> 3.375

المصدر

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن