التابع Enumerator.feed
في روبي
< Ruby | Enumerator
يضبط التابع feed
القيمة المراد إعادتها عبر الاستدعاء yield
التالي داخل e
. إن لم تُعيَّن القيمة، فسيعيد yield
القيمة nil
.
البنية العامة
feed obj → nil
المعاملات
obj
قيمة الكائن المراد ضبطها لإعادتها عبر الاستدعاء yield
التالي.
القيمة المعادة
تعاد القيمة nil
بعد تنفيذ العملية.
أمثلة
مثال على استعمال التابع feed
:
# ويجمِّع "yield" عناصر المصفوفة إلى Array.map يمرر
# .كمصفوفة "yield" نتائج
# يعيد العناصر المُمرَّرة وتُجمَّع "next" يظهر المثال التالي أنَّ
# كمصفوفة يمكن الحصول عليها "feed" القيم التي مُرِّرت إلى
# .StopIteration.result عبر
e = [1,2,3].map
p e.next #=> 1
e.feed "a"
p e.next #=> 2
e.feed "b"
p e.next #=> 3
e.feed "c"
begin
e.next
rescue StopIteration
p $!.result #=> ["a", "b", "c"]
end
o = Object.new
def o.each
x = yield # (2) blocks
p x # (5) => "foo"
x = yield # (6) blocks
p x # (8) => nil
x = yield # (9) blocks
p x # not reached w/o another e.next
end
e = o.to_enum
e.next # (1)
e.feed "foo" # (3)
e.next # (4)
e.next # (7)
# (10)
انظر أيضًا
- التابع
inspect
: ينشئ نسخةً قابلةً للطباعة من e. - التابع
next
: يعيد الكائن التالي في المُعدِّد الذي استدعي معه، ويحرك موضع المؤشر الداخلي للأمام خطوة واحدة.