اذهب إلى المحتوى

السؤال

Recommended Posts

  • 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

المصدر

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...