ali_agha نشر 7 أكتوبر 2015 أرسل تقرير نشر 7 أكتوبر 2015 أريد أن احسب مُعدل مجموعة من الأعداد موجودة في مصفوفة روبي، فمثلا لو كانت لدي هذه المصفوفة:[0,4,8,2,5,0,2,6] فسيكون معدلها 3.374، فكيف أستطيع أن أقوم بذلك؟ اقتباس
0 هشام رزق الله نشر 7 أكتوبر 2015 أرسل تقرير نشر 7 أكتوبر 2015 هنالك العديد من الطرق لحساب معدل ما من مجموعة من الأعداد في مصفوفة معينة في الروبي، فمثلا يمكنك استخدام التابع 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 المصدر اقتباس
السؤال
ali_agha
أريد أن احسب مُعدل مجموعة من الأعداد موجودة في مصفوفة روبي، فمثلا لو كانت لدي هذه المصفوفة:
فسيكون معدلها 3.374، فكيف أستطيع أن أقوم بذلك؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.