الفرق بين المراجعتين لصفحة: «Ruby/Range/step»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>step</code> الخاص بالصنف <code>Range</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف:...' |
لا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Range]] | [[تصنيف: Ruby Range]] | ||
يكرر التابع <code>step</code> الكتلة المعطاة ويمرر إليها <code>n</code> (انظر فقرة البنية العامة) عنصرًا من عناصر المجال بالتتابع. إن كان عنصرا البداية والنهاية | يكرر التابع <code>step</code> تنفيذ الكتلة المعطاة ويمرر إليها <code>n</code> (انظر فقرة البنية العامة) عنصرًا من عناصر المجال بالتتابع. إن كان عنصرا البداية والنهاية عددين، فسيضاف <code>n</code> عند كل تكرار. وإلا، فإن التابع <code>step</code> سيستدعي <code>succ</code> للتكرار على عناصر المجال. | ||
في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف [[Ruby/Enumerator|<code>Enumerator</code>]] بدلاً من ذلك. | |||
< | |||
انظر صفحة <code>[[Ruby/Range|Range]]</code> لأجل تعريف الصنف <code>Xs</code>. | |||
انظر صفحة <code>[[Ruby/Range|Range]]</code> لأجل تعريف الصنف Xs. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">step(n=1) {| obj | block } → rng | <syntaxhighlight lang="ruby">step(n=1) {| obj | block } → rng | ||
سطر 22: | سطر 13: | ||
==المعاملات== | ==المعاملات== | ||
===<code>n</code>=== | ===<code>n</code>=== | ||
عدد صحيح | عدد صحيح. | ||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
يعيد التابع <code>step</code> مجالًا، وفي حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف [[Ruby/Enumerator|<code>Enumerator</code>]]. | |||
==أمثلة== | ==أمثلة== | ||
سطر 31: | سطر 22: | ||
range.step(2) {|x| puts x} | range.step(2) {|x| puts x} | ||
puts | puts | ||
range.step(3) {|x| puts x}</syntaxhighlight> | range.step(3) {|x| puts x}</syntaxhighlight>الناتج:<syntaxhighlight lang="ruby"> 1 x | ||
3 xxx | |||
5 xxxxx | |||
7 xxxxxxx | |||
9 xxxxxxxxx | |||
1 x | |||
4 xxxx | |||
7 xxxxxxx | |||
10 xxxxxxxxxx</syntaxhighlight> | |||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Range/ | * التابع <code>[[Ruby/Range/each|each]]</code>: يُكرر التابع <code>each</code> تنفيذ الكتلة المعطاة مع تمرير عناصر المجال إليها بالتتابع. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Range.html#method-i-step قسم التابع step في الصنف Range في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Range.html#method-i-step قسم التابع step في الصنف Range في توثيق روبي الرسمي.] |
مراجعة 19:19، 30 أكتوبر 2018
يكرر التابع step
تنفيذ الكتلة المعطاة ويمرر إليها n
(انظر فقرة البنية العامة) عنصرًا من عناصر المجال بالتتابع. إن كان عنصرا البداية والنهاية عددين، فسيضاف n
عند كل تكرار. وإلا، فإن التابع step
سيستدعي succ
للتكرار على عناصر المجال.
في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف Enumerator
بدلاً من ذلك.
انظر صفحة Range
لأجل تعريف الصنف Xs
.
البنية العامة
step(n=1) {| obj | block } → rng
step(n=1)→ an_enumerator
المعاملات
n
عدد صحيح.
القيمة المُعادة
يعيد التابع step
مجالًا، وفي حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف Enumerator
.
أمثلة
مثال على استخدام التابع step
:
range = Xs.new(1)..Xs.new(10)
range.step(2) {|x| puts x}
puts
range.step(3) {|x| puts x}
الناتج:
1 x
3 xxx
5 xxxxx
7 xxxxxxx
9 xxxxxxxxx
1 x
4 xxxx
7 xxxxxxx
10 xxxxxxxxxx
انظر أيضا
- التابع
each
: يُكرر التابعeach
تنفيذ الكتلة المعطاة مع تمرير عناصر المجال إليها بالتتابع.