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