التابع Numeric.step‎ في روبي

من موسوعة حسوب
< Ruby‏ | Numeric
مراجعة 20:08، 20 نوفمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

يستدعي التابع step الكتلة المعطاة مع تمرير سلسلة من الأعداد إليها بدءًا من العدد الذي استُدعي معه وحتى قيمة محدَّدة مع الزيادة أو الطرح بقدار خطوة ثابتة معطاة.

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

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

تنتهي الحلقة التكرارية عندما تكون القيمة المراد تمريرها إلى الكتلة أكبر من قيمة المعامل limit إن كان step موجبًا، أو أصغر من القيمة limit إن كان step سالبًا.

عند استخدام صياغة الوسائط المسماة (keyword argument) المفضلة، يمكن حذف الوسيطين step و limit. أما عند استخدام صياغة الوسائط الموضعية الثابتة (fixed position argument)، فلا يُسمح بإعطاء الوسيط step القيمة صفر (مثل num.step(limit, 0)‎) لأسباب تتعلق بالتوافق مع الإصدارات القديمة.

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

في حال لم تُعطَ أية كتلة، فسيُعاد كائن من الصنف enumerator.

المعاملات

step‎

عدد يمثل الخطوة. القيمة الافتراضية هي: 1.

limit‎

عدد يمثل حد الحلقة التكرارية. القيمة الافتراضية هي: nil (أي اللانهاية [infinity]).

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

يعاد الكائن الذي استُدعي معه، أو الكائن enumerator في حال لم تُعطَ أية كتلة.

أمثلة

مثال على استخدام التابع 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, " " }

ناتج تنفيذ هذا المثال هو:

[1, 2, 3, 4]
[10, 9, 8, 7]
3 4 5
1 3 5 7 9
2.718281828459045 2.9182818284590453 3.118281828459045

انظر أيضا

  • التابع to_c: يحول العدد الذي استدعي معه إلى عدد عقدي.

مصادر