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

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

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

["foo", "bar"].lazy.flat_map {|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.flat_map {|i| i}.force
#=> [{:a=>1}, {:b=>2}]

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

flat_map { |obj| block }  a_lazy_enumerator

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

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

انظر أيضًا

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

مصادر