التابع 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
: يستخدم العملية/
لإجراء القسمة، ثم يحوّل النتيجة إلى عدد صحيح.