التابع Enumerator.each_with_object في روبي

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

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

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

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

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

المعاملات

obj

الكائن الذي سيُكرَّر مع كل عنصر من عناصر الكائن المعطى.

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

يعاد الكائن obj المعطى، أو يعاد كائن جديد من النوع Enumerator إن لم تُعطَ أية كتلة.

أمثلة

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

to_three = Enumerator.new do |y|
  3.times do |x|
    y << x
  end
end

to_three_with_string = to_three.with_object("foo")
to_three_with_string.each do |x,string|
  puts "#{string}: #{x}"
end

# => foo:0
# => foo:1
# => foo:2

انظر أيضًا

  • التابع each: يتكرر عبر الكتلة المعطاة وفقًا للكائن المُعدِّد الذي استدعي معه والطريقة التي أُنشِئ بها.
  • التابع each_with_index: يشبه التابع with_index باستثناء أنه لا يوجد إزاحة بادئة لبدء العملية عند قيمة محدَّدة.

مصادر