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