الفرق بين المراجعتين لصفحة: «Ruby/Array/!map»

من موسوعة حسوب
< Ruby‏ | Array
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>Array.map!‎</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby Arr...'
 
لا ملخص تعديل
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Array]]
[[تصنيف: Ruby Array]]
يستدعي التابع !<code>!map</code> كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي طُبِّقَت عليه.
يستدعي التابع <code>!map</code> كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي طُبِّقَت عليه.
إن لم يمرَّر أي شيء إلى هذا التابع، فسيعيد كائنًا من النوع <code>Enumerator</code>.
 
إن لم يمرَّر أي شيء إلى هذا التابع، فسيعيد كائنًا من النوع <code>[[Ruby/Enumerator|Enumerator]]</code>.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby"> map! {|item| block } → ary
<syntaxhighlight lang="ruby"> map! {|item| block } → ary
سطر 10: سطر 11:
  </syntaxhighlight>
  </syntaxhighlight>
==القيم المعادة==
==القيم المعادة==
تعاد المصفوفة نفسها المعطاة بعد تبديل القيمة الجديدة التي تعيدها الكتلة <code>block</code> عند تطبيقها على كل عنصر من عناصر تلك المصفوفة مكان القيمة القديمة لذلك العنصر، أو يعاد كائنٌ من النوع <code>Enumerator</code> إن لم تمرَّر الكتلة <code>block</code>.
تعاد المصفوفة نفسها المعطاة بعد تبديل القيمة الجديدة التي تعيدها الكتلة <code>block</code> عند تطبيقها على كل عنصر من عناصر تلك المصفوفة مكان القيمة القديمة لذلك العنصر، أو يعاد كائنٌ من النوع <code>[[Ruby/Enumerator|Enumerator]]</code> إن لم تمرَّر الكتلة <code>block</code>.
==أمثلة==
==أمثلة==
مثالٌ على استخدام التابع !<code>!map</code>:
مثالٌ على استخدام التابع <code>!map</code>:
<syntaxhighlight lang="ruby"> a = [ "a", "b", "c", "d" ]
<syntaxhighlight lang="ruby"> a = [ "a", "b", "c", "d" ]
a.map! {|x| x + "!" }
a.map! {|x| x + "!" }
سطر 19: سطر 20:
==انظر أيضًا==
==انظر أيضًا==
* التابع [[Ruby/Array/map | <code>map</code>]]: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع الناتج الذي تعيده هذه الكتلة لكل عنصر في مصفوفة جديدة وتعيدها.
* التابع [[Ruby/Array/map | <code>map</code>]]: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع الناتج الذي تعيده هذه الكتلة لكل عنصر في مصفوفة جديدة وتعيدها.
* التابع [[Ruby/Array/collect! | <code>collect!</code>]]!‎: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر مصفوفة ثم يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي استدعيت معه.
* التابع [[Ruby/Array/!collect|<code>!collect</code>]]: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر مصفوفة ثم يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي استدعيت معه.
* التابع [[Ruby/Array/replace | <code>replace</code>]]: يبدِّل محتوى المصفوفة الممرَّرة إليه مكان محتوى المصفوفة المستدعاة معه مع تغيير طولها إن دعت الحاجة لذلك.
* التابع [[Ruby/Array/replace | <code>replace</code>]]: يبدِّل محتوى المصفوفة الممرَّرة إليه مكان محتوى المصفوفة المستدعاة معه مع تغيير طولها إن دعت الحاجة لذلك.
* التابع [[Ruby/Array/each | <code>each</code>]]: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة، إذ تمرَّر قيمة ذلك العنصر كوسيط إلى الكتلة ثمَّ يعيد المصفوفة نفسها المعطاة.
* التابع [[Ruby/Array/each | <code>each</code>]]: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة، إذ تمرَّر قيمة ذلك العنصر كوسيط إلى الكتلة ثمَّ يعيد المصفوفة نفسها المعطاة.
* التابع [[Ruby/Array/initialize_copy | <code>initialize_copy</code>]]: يبدل محتوى المصفوفة المُمرّرة إليه مكان محتوى المصفوفة التي استُدعيت معه مع تغيير طول المصفوفة عند الضرورة.
* التابع [[Ruby/Array/initialize_copy | <code>initialize_copy</code>]]: يبدل محتوى المصفوفة المُمرّرة إليه مكان محتوى المصفوفة التي استُدعيت معه مع تغيير طول المصفوفة عند الضرورة.
==مصادر==
==مصادر==
* قسم التابع !Array.map في الصنف Array في توثيق روبي الرسمي.
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-map-21 قسم التابع !Array.map في الصنف Array في توثيق روبي الرسمي.]

مراجعة 09:02، 7 سبتمبر 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: يبدل محتوى المصفوفة المُمرّرة إليه مكان محتوى المصفوفة التي استُدعيت معه مع تغيير طول المصفوفة عند الضرورة.

مصادر