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

من موسوعة حسوب
< Ruby‏ | Range
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>step‎</code> الخاص بالصنف <code>Range</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف:...'
 
ط مراجعة وتدقيق.
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>step‎</code> الخاص بالصنف <code>Range</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE: التابع <code>Range.step‎</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Range]]
[[تصنيف: Ruby Range]]
يكرر التابع <code>step</code> الكتلة المعطاة ويمرر إليها <code>n</code> (انظر فقرة البنية العامة) عنصرًا من عناصر المجال بالتتابع. إن كان عنصرا البداية والنهاية عددان، فسيضاف <code>n</code> عند كل تكرار. وإلا، فإن <code>step</code> ستستدعي <code>succ</code> للتكرار عبر عناصر المجال.
يكرر التابع <code>step</code> تنفيذ الكتلة المعطاة ويمرر إليها <code>n</code> عنصرًا من عناصر المجال بالتتابع.
في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف enumerator بدلاً من ذلك.


الناتج
إن كان عنصرا البداية والنهاية عددين، فسيضاف <code>n</code> عند كل تكرار. وإلا، فإن التابع <code>step</code> سيستدعي <code>succ</code> للتكرار على عناصر المجال.
<syntaxhighlight lang="ruby"> 1 x
 
3 xxx
في حال لم تُعطَ أية كتلة، فسيُعاد كائن من الصنف [[Ruby/Enumerator|<code>Enumerator</code>]] بدلاً من ذلك.
5 xxxxx
7 xxxxxxx
9 xxxxxxxxx
1 x
4 xxxx
7 xxxxxxx
10 xxxxxxxxxx‎</syntaxhighlight>
انظر صفحة <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>===
عدد صحيح
عدد صحيح يمثِّل الخطوة. الخطوة الافتراضية هي: 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/size|size]]</code>: يعيد  عدد العناصر في المجال. يجب أن يكون كل من بداية ونهاية <code>[[Ruby/Range|Range]]</code> قيمتان عدديتان (<code>[[Ruby/Numeric|Numeric]]</code>)، وإلا فستُعاد nil.
5 xxxxx
* التابع <code>[[Ruby/Range/to_s|to_s]]</code>: بُحوّل  المجال إلى شكل قابل للطباعة (باستخدام <code>[[Ruby/Range/to_s|to_s]]</code> لتحويل عنصري البداية والنهاية).
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 قسم التابع step‎ في الصنف Range‎ في توثيق روبي الرسمي.]
*[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: يُكرر تنفيذ الكتلة المعطاة مع تمرير عناصر المجال إليها بالتتابع.

مصادر