الفرق بين المراجعتين ل"Ruby/Range/step"

من موسوعة حسوب
< Ruby‏ | Range
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
 
سطر 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> عنصرًا من عناصر المجال بالتتابع.
  
في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف [[Ruby/Enumerator|<code>Enumerator</code>]] بدلاً من ذلك.
+
إن كان عنصرا البداية والنهاية عددين، فسيضاف <code>n</code> عند كل تكرار. وإلا، فإن التابع <code>step</code> سيستدعي <code>succ</code> للتكرار على عناصر المجال.
  
انظر صفحة <code>[[Ruby/Range|Range]]</code> لأجل تعريف الصنف <code>Xs</code>.
+
في حال لم تُعطَ أية كتلة، فسيُعاد كائن من الصنف [[Ruby/Enumerator|<code>Enumerator</code>]] بدلاً من ذلك.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">step(n=1) {| obj | block } → rng
 
<syntaxhighlight lang="ruby">step(n=1) {| obj | block } → rng
سطر 13: سطر 13:
 
==المعاملات==
 
==المعاملات==
 
===<code>n‎</code>===
 
===<code>n‎</code>===
عدد صحيح.
+
عدد صحيح يمثِّل الخطوة. الخطوة الافتراضية هي: 1.
==القيمة المُعادة==
+
==القيمة المعادة==
يعيد  التابع <code>step</code>  مجالًا، وفي حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف [[Ruby/Enumerator|<code>Enumerator</code>]].
+
يعاد مجالٌ، أو كائن من الصنف [[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>الناتج:<syntaxhighlight lang="ruby"> 1 x
+
range.step(3) {|x| puts x}‎</syntaxhighlight>ناتج تنفيذ هذه الشيفرة هو:<syntaxhighlight lang="text"> 1 x
 
  3 xxx
 
  3 xxx
 
  5 xxxxx
 
  5 xxxxx
سطر 31: سطر 31:
 
  7 xxxxxxx
 
  7 xxxxxxx
 
10 xxxxxxxxxx‎</syntaxhighlight>
 
10 xxxxxxxxxx‎</syntaxhighlight>
==انظر أيضا==
+
==انظر أيضًا==
* التابع <code>[[Ruby/Range/each|each]]</code>: يُكرر التابع <code>each</code> تنفيذ الكتلة المعطاة مع تمرير عناصر المجال إليها بالتتابع.
+
* التابع <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: يُكرر تنفيذ الكتلة المعطاة مع تمرير عناصر المجال إليها بالتتابع.

مصادر