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

من موسوعة حسوب

يعيد التابع divmod مصفوفة تحتوي على الحاصل (quotient) والباقي الناتج عن قسمة العدد الذي استُدعي معه على الوسيط المعطى numeric.

إن كان q, r = x.divmod(y)‎ ، إذن:

 q = floor(x/y)
x = q*y + r

يتم تقريب الحاصل نحو اللانهاية السالبة، كما هو موضح في الجدول التالي:

 a    |  b  |  a.divmod(b)  |   a/b   | a.modulo(b) | a.remainder(b)
------+-----+---------------+---------+-------------+---------------
 13   |  4  |   3,    1     |   3     |    1        |     1
------+-----+---------------+---------+-------------+---------------
 13   | -4  |  -4,   -3     |  -4     |   -3        |     1
------+-----+---------------+---------+-------------+---------------
-13   |  4  |  -4,    3     |  -4     |    3        |    -1
------+-----+---------------+---------+-------------+---------------
-13   | -4  |   3,   -1     |   3     |   -1        |    -1
------+-----+---------------+---------+-------------+---------------
 11.5 |  4  |   2,    3.5   |   2.875 |    3.5      |     3.5
------+-----+---------------+---------+-------------+---------------
 11.5 | -4  |  -3,   -0.5   |  -2.875 |   -0.5      |     3.5
------+-----+---------------+---------+-------------+---------------
-11.5 |  4  |  -3,    0.5   |  -2.875 |    0.5      |    -3.5
------+-----+---------------+---------+-------------+---------------
-11.5 | -4  |   2,   -3.5   |   2.875 |   -3.5      |    -3.5

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

divmod(numeric)    array

المعاملات

numeric‎

عدد.

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

يعيد التابع divmod مصفوفة تحتوي على الحاصل (quotient) والباقي الناتج عن قسمة العدد الذي استُدعي معه على الوسيط المعطى numeric.

أمثلة

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

11.divmod(3)        #=> [3, 2]
11.divmod(-3)       #=> [-4, -1]
11.divmod(3.5)      #=> [3, 0.5]
(-11).divmod(3.5)   #=> [-4, 3.0]
11.5.divmod(3.5)    #=> [3, 1.0]

انظر أيضا

  • التابع div: يستخدم العملية / لإجراء القسمة، ثم يحوّل النتيجة إلى عدد صحيح.

مصادر