الفرق بين المراجعتين لصفحة: «Ruby/Array/map»
أنشأ الصفحة ب'<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
: يبدل محتوى المصفوفة المُمرّرة إليه مكان محتوى المصفوفة التي استُدعيت معه مع تغيير طول المصفوفة عند الضرورة.