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

من موسوعة حسوب
مراجعة 07:16، 30 ديسمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (إنشاء الصفحة.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يجمِّع التابع group_by عناصر الكائن القابل للتعداد الذي استدعي معه في مجموعات بحسب النتيجة المقابلة لكل عنصر التي تعيدها الكتلة المعطاة بعد تمريره إليها.

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

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

group_by { |obj| block }  a_hash
group_by  an_enumerator

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

يعاد كائن من النوع Hash تكون قيم المفاتيح فيه هي قيمة العنصر المقابلة التي تعيدها الكتلة block والقيم فيه هي مصفوفات تحوي العناصر المقابلة لكل مفتاح أعادته الكتلة من الكائن القابل للتعداد المعطى. إن لم تُعطَ أية كتلة، فسيعاد كائن من النوع Enumerator.

أمثلة

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

(1..6).group_by { |i| i%3 }   #=> {0=>[3, 6], 1=>[1, 4], 2=>[2, 5]}

انظر أيضًا

  • التابع chunk_while: ينشئ مُعدِّدًا لكل جزء من العناصر المجمَّعة سويةً. تُعرَّف بداية الأجزاء (chunks) عبر الكتلة المعطاة.
  • التابع flat_map: يعيد مصفوفة جديدة تحوي النتائج المجمَّعة الناتجة عن تنفيذ الكتلة المعطاة مع كل عنصر من عناصر الكائن القابل للتعداد الذي استدعي معه.

مصادر