الفرق بين المراجعتين ل"Ruby/Enumerable/each with object"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(إنشاء الصفحة.)
 
(لا فرق)

المراجعة الحالية بتاريخ 05:07، 30 ديسمبر 2018

يكرِّر التابع each_with_object الكتلة المعطاة على كل عنصر من عناصر الكائن القابل للتعداد الذي استدعي معه مع كائن اعتباطي (الكائن المُمرَّر إليه) ثم يعيد هذا الكائن.

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

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

each_with_object(obj) { |(*args), memo_obj| ... }  obj
each_with_object(obj)  an_enumerator

المعاملات

obj

كائن يراد تكرار تنفيذ الكتلة المعطاة عليه مع كل عنصر من عناصر الكائن القابل للتعداد المعطى.

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

يعاد الكائن obj المُمرَّر نفسه بعد تنفيذ العملية أو يعاد كائن من النوع Enumerator إن لم تُعطَ أية كتلة.

أمثلة

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

evens = (1..10).each_with_object([]) { |i, a| a << i*2 }
#=> [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

انظر أيضًا

مصادر