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

من موسوعة حسوب
< Ruby‏ | Array
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>Array.map</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby Array...')
 
سطر 4: سطر 4:
 
[[تصنيف: Ruby Array]]
 
[[تصنيف: Ruby Array]]
 
يستدعي التابع <code>map</code> كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع الناتج الذي تعيده هذه الكتلة لكل عنصر في مصفوفة جديدة وتعيدها.
 
يستدعي التابع <code>map</code> كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع الناتج الذي تعيده هذه الكتلة لكل عنصر في مصفوفة جديدة وتعيدها.
إن لم تمرَّر أية كتلة إلى التابع <code>map</code>، فسيعيد كائنًا من النوع <code>Enumerator</code>.
+
 
 +
إن لم تمرَّر أية كتلة إلى التابع <code>map</code>، فسيعيد كائنًا من النوع <code>[[Ruby/Enumerator|Enumerator]]</code>.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby"> map { |item| block } → new_ary
 
<syntaxhighlight lang="ruby"> map { |item| block } → new_ary
سطر 10: سطر 11:
 
  </syntaxhighlight>
 
  </syntaxhighlight>
 
==القيم المعادة==
 
==القيم المعادة==
تعاد مصفوفة جديدة تحوي ناتج تطبيق الكتلة <code>block</code> على كل عنصر من عناصر المصفوفة المعطاة، أو يعاد كائنٌ من النوع <code>Enumerator</code> إن لم تعطَ الكتلة <code>block</code>.
+
تعاد مصفوفة جديدة تحوي ناتج تطبيق الكتلة <code>block</code> على كل عنصر من عناصر المصفوفة المعطاة، أو يعاد كائنٌ من النوع [[Ruby/Enumerator|<code>Enumerator</code>]] إن لم تعطَ الكتلة <code>block</code>.
 
==أمثلة==
 
==أمثلة==
 
أمثلة على استخدام التابع <code>map</code>:
 
أمثلة على استخدام التابع <code>map</code>:
سطر 21: سطر 22:
 
  </syntaxhighlight>
 
  </syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
* التابع !<code>!map</code>: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي طُبِّقَت عليه.
+
* التابع [[Ruby/Array/!map|<code>!map</code>]]: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي طُبِّقَت عليه.
* التابع !<code>!collect</code>: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر مصفوفة ثم يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي استدعيت معه.
+
* التابع [[Ruby/Array/!collect|<code>!collect</code>]]: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر مصفوفة ثم يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي استدعيت معه.
 
* التابع [[Ruby/Array/collect | <code>collect</code>]]: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يعيد مصفوفة جديدة تحوي القيم التي تعيدها تلك الكتلة.
 
* التابع [[Ruby/Array/collect | <code>collect</code>]]: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يعيد مصفوفة جديدة تحوي القيم التي تعيدها تلك الكتلة.
 
* التابع [[Ruby/Array/cycle | <code>cycle</code>]]: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر المصفوفة عددًا محددًا من المرات أو عددًا لا نهائيًّا من المرات إن أعطيت القيمة <code>nil</code>.
 
* التابع [[Ruby/Array/cycle | <code>cycle</code>]]: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر المصفوفة عددًا محددًا من المرات أو عددًا لا نهائيًّا من المرات إن أعطيت القيمة <code>nil</code>.
سطر 28: سطر 29:
 
* التابع [[Ruby/Array/initialize_copy | <code>initialize_copy</code>]]: يبدل محتوى المصفوفة المُمرّرة إليه مكان محتوى المصفوفة التي استُدعيت معه مع تغيير طول المصفوفة عند الضرورة.
 
* التابع [[Ruby/Array/initialize_copy | <code>initialize_copy</code>]]: يبدل محتوى المصفوفة المُمرّرة إليه مكان محتوى المصفوفة التي استُدعيت معه مع تغيير طول المصفوفة عند الضرورة.
 
==مصادر==
 
==مصادر==
* قسم التابع map في الصنف Array في توثيق روبي الرسمي.
+
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-map قسم التابع map في الصنف Array في توثيق روبي الرسمي.]

مراجعة 09:00، 7 سبتمبر 2018

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

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

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

 map { |item| block }  new_ary
map  Enumerator

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

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

أمثلة

أمثلة على استخدام التابع map:

 a = [ "a", "b", "c", "d" ]
a.collect { |x| x + "!" }         #=> ["a!", "b!", "c!", "d!"]
a.map.with_index { |x, i| x * i } #=> ["", "b", "cc", "ddd"]
a                                 #=> ["a", "b", "c", "d"]

انظر أيضًا

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

مصادر