التابع Enumerable.group_by
في روبي
< Ruby | Enumerable
يجمِّع التابع 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
: يعيد مصفوفة جديدة تحوي النتائج المجمَّعة الناتجة عن تنفيذ الكتلة المعطاة مع كل عنصر من عناصر الكائن القابل للتعداد الذي استدعي معه.