الفرق بين المراجعتين ل"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: يُكرر تنفيذ الكتلة المعطاة مع تمرير عناصر المجال إليها بالتتابع.

مصادر