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

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

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

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

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

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

المعاملات

obj

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

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

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

أمثلة

مثال على استعمال التابع 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_with_object: يكرر الكتلة المعطاة على كل عنصر من عناصر الكائن الذي استدعي معه مع كائن آخر اعتباطي (الكائن المُمرَّر إليه).
  • التابع with_index: يكرر الكتلة المعطاة على كل عنصر من عناصر المُعدِّد الذي استدعي معه مع فهارسها والتي تبدأ عند موضع محدَّد.

مصادر