التابع Array.map!‎ في روبي

من موسوعة حسوب
< Ruby‏ | Array
مراجعة 07:51، 3 أكتوبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يستدعي التابع !map كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي طُبِّقَت عليه.

إن لم يمرَّر أي شيء إلى هذا التابع، فسيعيد كائنًا من النوع Enumerator.

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

map! {|item| block }  ary
map!  Enumerator

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

تعاد المصفوفة نفسها المعطاة بعد تبديل القيمة الجديدة التي تعيدها الكتلة block عند تطبيقها على كل عنصر من عناصر تلك المصفوفة مكان القيمة القديمة لذلك العنصر، أو يعاد كائنٌ من النوع Enumerator إن لم تمرَّر الكتلة block.

أمثلة

مثالٌ على استخدام التابع !map:

a = [ "a", "b", "c", "d" ]
a.map! {|x| x + "!" }
a #=>  [ "a!", "b!", "c!", "d!" ]

انظر أيضًا

  • التابع map: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع الناتج الذي تعيده هذه الكتلة لكل عنصر في مصفوفة جديدة وتعيدها.
  • التابع !collect: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر مصفوفة ثم يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي استدعيت معه.
  • التابع replace: يبدِّل محتوى المصفوفة الممرَّرة إليه مكان محتوى المصفوفة المستدعاة معه مع تغيير طولها إن دعت الحاجة لذلك.
  • التابع each: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة، إذ تمرَّر قيمة ذلك العنصر كوسيط إلى الكتلة ثمَّ يعيد المصفوفة نفسها المعطاة.
  • التابع initialize_copy: يبدل محتوى المصفوفة المُمرّرة إليه مكان محتوى المصفوفة التي استُدعيت معه مع تغيير طول المصفوفة عند الضرورة.

مصادر