التابع Enumerator::Lazy.collect_concat في روبي

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

يعيد التابع collect_concat كائن تعداد جديد من النوع Lazy مع النتائج المتسلسلة الناتجة عن تنفيذ الكتلة المعطاة مرةً واحدةً لكل عنصر من عناصر الكائن Lazy الذي استدعي معه.

["foo", "bar"].lazy.collect_concat {|i| i.each_char.lazy}.force
#=> ["f", "o", "o", "b", "a", "r"]

تُحلَّل (decompose) القيمة x المعادة من الكتلة إن تحقق أحد الشرطين التاليين:

  • x تستجيب للتابعين each و force كلاهما، وهذا يعني أن x هي مُعدِّد كسول (lazy enumerator).
  • x هي مصفوفة أو تستجيب للتابع to_ary.

خلا ذلك، ستُحتَوى x كما هي في القيمة المعادة.

[{a:1}, {b:2}].lazy.collect_concat {|i| i}.force
#=> [{:a=>1}, {:b=>2}]

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

collect_concat { |obj| block }  a_lazy_enumerator

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

يعاد كائن تعداد جديد من النوع Lazy مع النتائج المتسلسلة الناتجة عن تنفيذ الكتلة المعطاة مرةً واحدةً لكل عنصر من عناصر الكائن Lazy المعطى.

انظر أيضًا

  • التابع new: ينشئ كائن تعداد جديد من النوع Enumerator::Lazy.
  • التابع flat_map: يعيد كائن تعداد جديد من النوع Lazy مع النتائج المتسلسلة الناتجة عن تنفيذ الكتلة المعطاة مرةً واحدةً لكل عنصر من عناصر الكائن Lazy الذي استدعي معه.

مصادر