التابع step‎ الخاص بالصنف Numeric في روبي

من موسوعة حسوب
< Ruby‏ | Numeric
مراجعة 23:50، 27 أكتوبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>step‎</code> الخاص بالصنف <code>Numeric</code> في روبي}}</noinclude> تصنيف: Ruby تصني...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يستدعي التابع step الكتلة المعطاة مع تمرير سلسلة من الأعداد إليها بدءًا من العدد الذي استُدعي معه num، بالخطوة step (قيمتها الافتراضية هي 1) في كل استدعاء. تنتهي الحلقة التكرارية عندما تكون القيمة المراد تمريرها إلى الكتلة أكبر من limit (إن كان step موجبًا) أو أصغر من limit (إن كان step سالباً)، حيث قيمة limit الافتراضية هي اللانهاية. عند استخدام صياغة الوسائط المسماة (keyword argument)، يمكن حذف كلا الوسيطين step و limit (قيمتها الافتراضية هي اللانهاية). أما عند استخدام صياغة الوسيط الثابت، لا يُسمح بإعطاء الوسيط step القيمة صفر(مثل num.step(limit, 0)) لأسباب التوافق التاريخية. إن كانت جميع الوسائط أعدادًا صحيحة، فإن الحلقة ستعمل باستخدام عداد صحيح (integer counter.). إن كان أي من الوسائط عددًا عشريًا (float)، فستُحوّل كلها إلى أعداد عشرية، وستُنفّذ الحلقة التكرارية floor(n + n*Float::EPSILON) + 1 مرة، حيث n = (limit - num) / step. خلا ذلك، ستبدأ الحلقة التكرارية من num ، وستستخدم إما معامل المقارنة (<) أو (>) لمقارنة العداد مع limit، ثم تضيف 1 إلى العداد باستخدام المعامل +. في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف enumerator بدلاً من ذلك. مثلا:

سوف ينتج: Enumerator

البنية العامة

step(by: step, to: limit) {|i| block }  self
step(by: step, to: limit)   an_enumerator
step(limit=nil, step=1) {|i| block }    self
step(limit=nil, step=1)  an_enumerator

المعاملات

by: step‎

to: limit‎

limit‎

step‎

القيمة المُعادة

أمثلة

مثال على استخدام التابع step‎:

p 1.step.take(4)
p 10.step(by: -1).take(4)
3.step(to: 5) {|i| print i, " " }
1.step(10, 2) {|i| print i, " " }
Math::E.step(to: Math::PI, by: 0.2) {|f| print f, " " }

انظر أيضا

  • التابع round: يعيد العدد num مُقرّبًا إلى أقرب قيمة مع دقة ndigits منزلًا عشريًا (القيمة الافتراضية هي 0).
  • التابع to_c: يعيد القيمة كعدد عقدي.

مصادر