الفرق بين المراجعتين لصفحة: «Ruby/Range/each»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>each</code> الخاص بالصنف <code>Range</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف:...' |
لا ملخص تعديل |
||
سطر 4: | سطر 4: | ||
[[تصنيف: Ruby Range]] | [[تصنيف: Ruby Range]] | ||
يُكرر التابع <code>each</code> تنفيذ الكتلة المعطاة مع تمرير عناصر المجال إليها بالتتابع. | يُكرر التابع <code>each</code> تنفيذ الكتلة المعطاة مع تمرير عناصر المجال إليها بالتتابع. | ||
لا يمكن استخدام التابع <code>each</code> إلا إن | |||
في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف enumerator بدلاً من ذلك. | لا يمكن استخدام التابع <code>each</code> إلا إن كان عنصر بداية المجال يدعم التابع <code>succ</code>. يُطلق الاستثناء <code>[[Ruby/TypeError|TypeError]]</code> إن لم يٌعرّف ذلك العنصر التابع <code>succ</code> (مثل الصنف <code>[[Ruby/Float|Float]]</code>). | ||
في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف [[Ruby/Enumerator|enumerator]] بدلاً من ذلك. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">each {| i | block } → rng | <syntaxhighlight lang="ruby">each {| i | block } → rng | ||
each → an_enumerator</syntaxhighlight> | each → an_enumerator</syntaxhighlight> | ||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
يعيد التابع <code>each</code> مجالًا، وفي حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف [[Ruby/Enumerator|enumerator]]. | |||
==أمثلة== | ==أمثلة== | ||
سطر 19: | سطر 22: | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Range/cover-3F|cover?]]</code>: يعيد القيمة <code>true</code> إن كان <code>obj</code> محصورًا بين بداية ونهاية المجال. | * التابع <code>[[Ruby/Range/cover-3F|cover?]]</code>: يعيد القيمة <code>true</code> إن كان <code>obj</code> محصورًا بين بداية ونهاية المجال. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Range.html#method-i-each قسم التابع each في الصنف Range في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Range.html#method-i-each قسم التابع each في الصنف Range في توثيق روبي الرسمي.] |
مراجعة 17:22، 30 أكتوبر 2018
يُكرر التابع each
تنفيذ الكتلة المعطاة مع تمرير عناصر المجال إليها بالتتابع.
لا يمكن استخدام التابع each
إلا إن كان عنصر بداية المجال يدعم التابع succ
. يُطلق الاستثناء TypeError
إن لم يٌعرّف ذلك العنصر التابع succ
(مثل الصنف Float
).
في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف enumerator بدلاً من ذلك.
البنية العامة
each {| i | block } → rng
each → an_enumerator
القيمة المُعادة
يعيد التابع each
مجالًا، وفي حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف enumerator.
أمثلة
مثال على استخدام التابع each
:
(10..15).each {|n| print n, ' ' }
# prints: 10 11 12 13 14 15
(2.5..5).each {|n| print n, ' ' }
# raises: TypeError: can't iterate from Float
انظر أيضا
- التابع
cover?
: يعيد القيمةtrue
إن كانobj
محصورًا بين بداية ونهاية المجال.