الفرق بين المراجعتين ل"Ruby/Array/!map"

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

مصادر