التابع Enumerator.next_values
في روبي
< Ruby | Enumerator
يعيد التابع next_values
مصفوفة تحوي الكائن التالي في المُعدِّد الذي استدعي معه، ويحرك موضع المؤشر الداخلي للأمام خطوةً واحدةً. عند وصول المؤشر إلى النهاية، يُطلَق الاستثناء StopIteration
.
يمكن استعمال هذا التابع للتمييز بين yield
و yield nil
.
البنية العامة
next_values → array
القيمة المعادة
تعاد مصفوفة تحوي الكائن التالي في المُعدِّد المعطى.
أمثلة
مثال على استعمال التابع next_values
:
o = Object.new
def o.each
yield
yield 1
yield 1, 2
yield nil
yield [1, 2]
end
e = o.to_enum
p e.next_values
p e.next_values
p e.next_values
p e.next_values
p e.next_values
e = o.to_enum
p e.next
p e.next
p e.next
p e.next
p e.next
## yield args next_values next
# yield [] nil
# yield 1 [1] 1
# yield 1, 2 [1, 2] [1, 2]
# yield nil [nil] nil
# yield [1, 2] [[1, 2]] [1, 2]
انتبه إلى أنَّ التابع next_values
لا يؤثر على التوابع التعدادية الغير خارجية (non-external enumeration methods) إلا إن كان لتوابع التكرار الأساسية نفسها آثارًا جانبية مثل التابع IO.each_line
.
انظر أيضًا
- التابع
feed
: يضبط القيمة المراد إعادتها عبر الاستدعاءyield
التالي داخلe
. - التابع
next
: يعيد الكائن التالي في المُعدِّد الذي استدعي معه، ويحرك موضع المؤشر الداخلي للأمام خطوة واحدة.