التابع Enumerable.min_by في روبي

من موسوعة حسوب

يعيد التابع min_by العنصر الذي تعيد الكتلة المعطاة أًصغر قيمة مقابلة له بعد تمرير عناصر الكائن القابل للتعداد إليها كلٌّ على حدة.

إن لم تُعطَ أية كتلة، فسيعيد التابع كائنًا من النوع Enumerator.

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

min_by {|obj| block }  obj
min_by  an_enumerator
min_by(n) {|obj| block }  array
min_by(n)  an_enumerator

المعاملات

n

إن أعطي هذا المعامل، فسيُعاد أصغر n عنصر في مصفوفة. ترتَّب العناصر آنذاك في المصفوفة بشكل تنازلي بناءً على القيمة المقابلة التي تعيدها الكتلة.

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

يعاد العنصر الذي تعيد الكتلة المعطاة أصغر قيمة مقابلة له بعد تمرير عناصر الكائن القابل للتعداد إليها كلٌّ على حدة، أو أصغر n عنصر في مصفوفة إن أعطي هذا المعامل. يعاد كائن من النوع Enumerator إن لم تُعطَ أية كتلة.

أمثلة

مثال على استعمال التابع min_by:

a = %w(albatross dog horse)
a.min_by { |x| x.length }   #=> "dog"

إعادة المثال السابق ولكن مع تمرير المعامل n:

a = %w[albatross dog horse]
p a.min_by(2) {|x| x.length } #=> ["dog", "horse"]

انظر أيضًا

  • التابع max: يبحث عن قيمة أكبر عنصر من عناصر الكائن القابل للتعداد الذي استدعي معه ثم يعيده.
  • التابع max_by: يعيد العنصر الذي تعيد الكتلة المعطاة أكبر قيمة مقابلة له بعد تمرير عناصر الكائن القابل للتعداد إليها كلٌّ على حدة.
  • التابع min: يبحث عن قيمة أصغر عنصر من عناصر الكائن القابل للتعداد الذي استدعي معه ثم يعيده.
  • التابع minmax: يبحث عن قيمة أصغر وأكبر عنصر من عناصر الكائن القابل للتعداد الذي استدعي معه ثم يعيدهما في مصفوفة.
  • التابع minmax_by: يعيد العنصرين الذيَن تعيد الكتلة المعطاة أًصغر وأكبر قيمة مقابلة لهما على التوالي بعد تمرير عناصر الكائن القابل للتعداد إليها كلٌّ على حدة.

مصادر