الفرق بين المراجعتين ل"Ruby/Numeric/divmod"
اذهب إلى التنقل
اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>divmod</code> الخاص بالصنف <code>Numeric</code> في روبي}}</noinclude> تصنيف: Ruby تصن...') |
جميل-بيلوني (نقاش | مساهمات) ط (مراجعة وتدقيق.) |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 1: | سطر 1: | ||
− | <noinclude>{{DISPLAYTITLE: التابع <code>divmod | + | <noinclude>{{DISPLAYTITLE: التابع <code>Numeric.divmod</code> في روبي}}</noinclude> |
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Numeric]] | [[تصنيف: Ruby Numeric]] | ||
− | يعيد التابع <code>divmod</code> مصفوفة تحتوي على | + | يعيد التابع <code>divmod</code> مصفوفة تحتوي على حاصل (quotient) وباقي قسمة العدد الذي استُدعي معه على العدد المُمرَّر إليه. |
− | + | ==البنية العامة== | |
− | + | <syntaxhighlight lang="ruby">divmod(numeric) → array</syntaxhighlight>إن كان لدينا العددين <code>q</code> و <code>r = x.divmod(y)</code>، فيكون:<syntaxhighlight lang="ruby"> | |
− | يتم تقريب | + | q = floor(x/y) |
− | <syntaxhighlight lang="ruby"> a | b | a.divmod(b) | a/b | a.modulo(b) | a.remainder(b) | + | x = q*y + r |
+ | </syntaxhighlight>يتم تقريب حاصل القسمة نحو اللانهاية السالبة، كما هو موضح في الجدول التالي:<syntaxhighlight lang="ruby"> a | b | a.divmod(b) | a/b | a.modulo(b) | a.remainder(b) | ||
------+-----+---------------+---------+-------------+--------------- | ------+-----+---------------+---------+-------------+--------------- | ||
13 | 4 | 3, 1 | 3 | 1 | 1 | 13 | 4 | 3, 1 | 3 | 1 | 1 | ||
سطر 24: | سطر 25: | ||
------+-----+---------------+---------+-------------+--------------- | ------+-----+---------------+---------+-------------+--------------- | ||
-11.5 | -4 | 2, -3.5 | 2.875 | -3.5 | -3.5</syntaxhighlight> | -11.5 | -4 | 2, -3.5 | 2.875 | -3.5 | -3.5</syntaxhighlight> | ||
− | |||
− | |||
− | |||
==المعاملات== | ==المعاملات== | ||
===<code>numeric</code>=== | ===<code>numeric</code>=== | ||
− | + | عدد يمثِّل المقسوم عليه. | |
− | ==القيمة | + | ==القيمة المعادة== |
+ | تعاد مصفوفة تحتوي على حاصل (quotient) وباقي قسمة العدد المعطى على العدد <code>numeric</code>. | ||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>divmod</code>: | مثال على استخدام التابع <code>divmod</code>: | ||
− | <syntaxhighlight lang="ruby"> | + | <syntaxhighlight lang="ruby">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]</syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
− | * التابع <code>[[Ruby/Numeric/div|div]]</code>: يستخدم | + | * التابع <code>[[Ruby/Numeric/div|div]]</code>: يستخدم المعامل <code>/</code> لإجراء عملية القسمة على عددين ثم يحوّل النتيجة إلى عدد صحيح. |
− | |||
==مصادر== | ==مصادر== | ||
− | *[http://ruby-doc.org/core-2.5.1/Numeric.html#method-i-divmod قسم | + | *[http://ruby-doc.org/core-2.5.1/Numeric.html#method-i-divmod قسم التابع divmod في الصنف Numeric في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 18:07، 20 نوفمبر 2018
يعيد التابع divmod
مصفوفة تحتوي على حاصل (quotient) وباقي قسمة العدد الذي استُدعي معه على العدد المُمرَّر إليه.
البنية العامة
divmod(numeric) → array
إن كان لدينا العددين 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
المعاملات
numeric
عدد يمثِّل المقسوم عليه.
القيمة المعادة
تعاد مصفوفة تحتوي على حاصل (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
: يستخدم المعامل/
لإجراء عملية القسمة على عددين ثم يحوّل النتيجة إلى عدد صحيح.