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

من موسوعة حسوب
< Ruby‏ | Array
لا ملخص تعديل
طلا ملخص تعديل
 
سطر 5: سطر 5:
يستدعي التابع <code>each</code> كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة، إذ تمرَّر قيمة ذلك العنصر كوسيط إلى الكتلة ثمَّ يعيد المصفوفة نفسها المعطاة.
يستدعي التابع <code>each</code> كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة، إذ تمرَّر قيمة ذلك العنصر كوسيط إلى الكتلة ثمَّ يعيد المصفوفة نفسها المعطاة.


إن لم تمرَّر أيَّة كتلة إلى التابع <code>each</code>، فسيُعيد كائنا من النوع <code>[[Ruby/Array/Enumerator|Enumerator]]</code>.
إن لم تمرَّر أيَّة كتلة إلى التابع <code>each</code>، فسيُعيد كائنا من النوع <code>[[Ruby/Enumerator|Enumerator]]</code>.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby"> each { |item| block } → ary
<syntaxhighlight lang="ruby"> each { |item| block } → ary
سطر 11: سطر 11:
  </syntaxhighlight>
  </syntaxhighlight>
==القيم المعادة==
==القيم المعادة==
تعاد المصفوفة نفسها المعطاة بعد تطبيق الكتلة <code>block</code> على قيمة كل عنصر من عناصرها، أو يعاد كائنٌ من النوع [[Ruby/Array/Enumerator|Enumerator]]<nowiki/>إن لم تعطَ الكتلة <code>block</code>.
تعاد المصفوفة نفسها المعطاة بعد تطبيق الكتلة <code>block</code> على قيمة كل عنصر من عناصرها، أو يعاد كائنٌ من النوع <code>[[Ruby/Array/Enumerator|Enumerator]]</code><nowiki/>إن لم تعطَ الكتلة <code>block</code>.
==أمثلة==
==أمثلة==
مثالٌ على استخدام التابع <code>each</code>:
مثالٌ على استخدام التابع <code>each</code>:
سطر 20: سطر 20:
  </syntaxhighlight>
  </syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* التابع [[Ruby/Array/reverse_each | <code>reverse_each</code>]]: يشبه التابع <code>each</code> تمامًا باستثناء أنه يطبق الكتلة البرمجية على العناصر بدءًا من العنصر الأخير وحتى العنصر الأول.
* التابع<nowiki/>[[Ruby/Array/reverse_each | <code>reverse_each</code>]]: يشبه التابع <code>each</code> تمامًا باستثناء أنه يطبق الكتلة البرمجية على العناصر بدءًا من العنصر الأخير وحتى العنصر الأول.
* التابع [[Ruby/Array/each_index | <code>each_index</code>]]: يستدعي كتلة برمجية محددة مع فهرس كل عنصر من عناصر مصفوفة، إذ يُمرَّر ذلك الفهرس كوسيط إلى الكتلة ثم يعيد المصفوفة نفسها.
* التابع<nowiki/>[[Ruby/Array/each_index | <code>each_index</code>]]: يستدعي كتلة برمجية محددة مع فهرس كل عنصر من عناصر مصفوفة، إذ يُمرَّر ذلك الفهرس كوسيط إلى الكتلة ثم يعيد المصفوفة نفسها.
* التابع [[Ruby/Array/cycle | <code>cycle</code>]]: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر المصفوفة عددًا محددًا من المرات أو عددًا لا نهائيًّا من المرات إن أعطيت القيمة <code>nil</code>.
* التابع<nowiki/>[[Ruby/Array/cycle | <code>cycle</code>]]: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر المصفوفة عددًا محددًا من المرات أو عددًا لا نهائيًّا من المرات إن أعطيت القيمة <code>nil</code>.
* التابع [[Ruby/Array/collect! | <code>collect</code>]]!‎: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر مصفوفة ثم يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي استدعيت معه.
* التابع [[Ruby/Array/collect!|<code>collect!‎</code>]]: يستدعي كتلة برمجية محددة مع كل عنصر من عناصر مصفوفة ثم يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي استدعيت معه.
==مصادر==
==مصادر==
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-each قسم التابع each في الصنف Array في توثيق روبي الرسمي.]
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-each قسم التابع each في الصنف Array في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 07:11، 2 أكتوبر 2018

يستدعي التابع each كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة، إذ تمرَّر قيمة ذلك العنصر كوسيط إلى الكتلة ثمَّ يعيد المصفوفة نفسها المعطاة.

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

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

 each { |item| block }  ary
each  Enumerator

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

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

أمثلة

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

 a = [ "a", "b", "c" ]
a.each {|x| print x, " -- " }
سيعطي هذا المثال عند تنفيذه الناتج التالي:
a -- b -- c --

انظر أيضًا

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

مصادر