الفرق بين المراجعتين ل"Ruby/Enumerable/each with object"
< Ruby | Enumerable
اذهب إلى التنقل
اذهب إلى البحث
جميل-بيلوني (نقاش | مساهمات) (إنشاء الصفحة.) |
(لا فرق)
|
المراجعة الحالية بتاريخ 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]
انظر أيضًا
- التابع
each_cons
: يُكرِّر الكتلة المعطاة على كل مصفوفة منn
عنصر متتالي من عناصر الكائن القابل للتعداد الذي استدعي معه. - التابع
each_entry
: يستدعي الكتلة المعطاة مرةً واحدةً على كل عنصر من عناصر الكائن القابل للتعداد الذي استدعي معه. - التابع
each_slice
: يكرِّر الكتلة المعطاة على كل قطعة مكونة منn
عنصر من عناصر الكائن القابل للتعداد الذي استدعي معه. - التابع
each_with_index
: يستدعي الكتلة المعطاة مع وسيطين هما: العنصر نفسه وفهرسه لكل عنصر من عناصر الكائن القابل للتعداد الذي استدعي معه.