الفرق بين المراجعتين لصفحة: «Ruby/Integer»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط ←divmod |
||
(7 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الصنف <code>Integer</code> في روبي}}</noinclude> | |||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Class]] | |||
[[تصنيف: Ruby Integer]] | [[تصنيف: Ruby Integer]] | ||
يمثل الصنف <code>Integer</code> الأعداد الصحيحة. لا يمكن إضافة تابع أحادي (singleton method) إلى كائن من الصنف <code>Integer</code>، وأي محاولة لفعل ذلك ستؤدي إلى إطلاق الخطأ <code>[[Ruby/TypeError|TypeError]]</code>. | |||
==الثوابت (Constants)== | |||
===[[Ruby/Integer/GMP VERSION|<code>GMP_VERSION</code>]]=== | |||
يمثِّل النسخة GMP المُحمّلة. | |||
==توابع الصنف العامة (Public Class Methods)== | |||
===[[Ruby/Integer/sqrt|<code>sqrt</code>]]=== | |||
يعيد التابع <code>sqrt</code> الجذر التربيعي الصحيح للعدد الصحيح الموجب المُمرر إليه. | |||
==توابع الكائن العامة (Public Instance Methods)== | |||
===[[Ruby/Integer/modul|<code>%</code>]]=== | |||
يعيد المعامل <code>%</code> باقي عملية القسمة الصحيحة بين عددين. | |||
===[[Ruby/Integer/and|<code>&</code>]]=== | |||
ينفذ المعامل <code>&</code> العملية AND بين بتات العددين المعطيين. | |||
===[[Ruby/Integer/multiplication|<code>*</code>]]=== | |||
يعيد المعامل <code>*</code> ناتج عملية الضرب بين عددين. | |||
===[[Ruby/Integer/expo|<code>**</code>]]=== | |||
يعيد المعامل <code>**</code> ناتج عملية رفع للعدد <code>int</code> الأساس إلى قوة العدد <code>numeric</code> (الأس). | |||
===[[Ruby/Integer/plus|<code>+</code>]]=== | |||
يعيد المعامل <code>+</code> ناتج عملية الجمع بين عددين. | |||
===[[Ruby/Integer/minus|<code>-</code>]]=== | |||
يعيد المعامل <code>-</code> ناتج عملية الطرح بين عددين. | |||
===[[Ruby/Integer/negation|<code>-</code>]]=== | |||
إن استُعمِل المعامل <code>-</code> بالشكل <code>-int</code>، فسيعيد القيمة المعاكسة للعدد <code>int</code> الصحيح الموجب (أي القيمة السالبة إن كان <code>int</code> موجبًا أو العكس). | |||
===[[Ruby/Integer/division|<code>/</code>]]=== | |||
يعيد المعامل <code>/</code> ناتج عملية القسمة بين عددين. | |||
===[[Ruby/Integer/lt|<code>></code>]]=== | |||
يعيد المعامل <code>></code> القيمة <code>true</code> إن كانت قيمة <nowiki/>[[Ruby/Integer|العدد الصحيح]] الواقع على يساره أصغر من قيمة <nowiki/>[[Ruby/Integer|العدد الصحيح]] المواقع على يمينه. | |||
===[[Ruby/Integer/3C-3C|<code><<</code>]]=== | |||
يزيح المعامل <code>>></code> العدد الصحيح المعطى إلى اليسار بقدار محدَّد من المنازل، أو إلى اليمين إن كانت قيمة مقدار الإزاحة سالبةً. | |||
===[[Ruby/Integer/3C-3D| <code><=</code>]]=== | |||
يعيد المعامل <code>=></code> القيمة <code>true</code> إن كانت قيمة العدد الواقع على يساره أصغر من أو تساوي قيمة العدد الواقع على يمينه. | |||
===[[Ruby/Integer/Comparison|<code><=></code>]]=== | |||
يعيد معامل الموازنة <code><=></code> عددًا صحيحًا (-1 أو 0 أو +1) إذا كان العدد الواقع على يساره أصغر من أو يساوي أو أكبر من العدد الآخر الواقع على يمينه على التوالي. | |||
===[[Ruby/Integer/equal|<code>==</code>]]=== | |||
يعيد المعامل <code>==</code> القيمة <code>true</code> إن كان العدد الصحيح الواقع على يساره يساوي القيمة الواقعة على يمينه. | |||
===[[Ruby/Integer/greater|<code><</code>]]=== | |||
يعيد المعامل <code><</code> القيمة <code>true</code> إن كانت قيمة العدد الواقع على يساره أكبر من قيمة العدد الآخر الواقع على يمينه. | |||
===[[Ruby/Integer/3E-3D| <code>=<</code>]]=== | |||
يعيد التابع <code>=<</code> القيمة <code>true</code> إن كانت قيمة العدد الواقع على يساره أكبر من أو تساوي قيمة العدد الآخر الواقع على يمينه. | |||
===[[Ruby/Integer/3E-3E| <code>>></code>]]=== | |||
يزيح المعامل <code><<</code> العدد الصحيح المعطى إلى اليمين بقدار محدَّد من المنازل، أو إلى اليسار إن كانت قيمة مقدار الإزاحة سالبةً. | |||
===<code rel="mw:WikiLink" title="Ruby/Integer/index" href="Ruby/Integer/index">[[Ruby/Integer/index|[]]]</code>=== | |||
يعيد معامل الفهرسة <code>[]</code> البت الموجودة عند الموضع <code>n</code> في التمثيل الثنائي للعدد الصحيح المعطى. | |||
===[[Ruby/Integer/or|<code>^</code>]]=== | |||
ينفذ المعامل <code>^</code> العملية XOR الثنائية بين بتات العددين المعطيين. | |||
===[[Ruby/Integer/7C|<code><nowiki>|</nowiki></code>]]=== | |||
ينفذ المعامل <code>|</code> العملية OR بين بتات العددين المعطيين. | |||
===[[Ruby/Integer/~|<code>~</code>]]=== | |||
يعيد المعامل <code>~</code> مكمل العدد الذي استُدعي معه، إذ يقلب قيمة كل بت من بتات العدد. | |||
===[[Ruby/Integer/abs|<code>abs</code>]]=== | |||
يعيد القيمة المطلقة للعدد الذي استُدعي معه. | |||
===[[Ruby/Integer/allbits-3F|<code>allbits?</code>]]=== | |||
يتحقق إن كانت قيم كل بتات ناتج تطبيق العملية <code>[[Ruby/Integer/and|&]]</code> على العدد الصحيح المعطى مع القناع الممرر إليه تساوي الواحد. | |||
===[[Ruby/Integer/anybits-3F|<code>anybits?</code>]]=== | |||
يتحقق إن كانت قيمة إحدى بتات ناتج تطبيق العملية <code>[[Ruby/Integer/and|&]]</code> على العدد الصحيح المعطى مع القناع الممرر إليه تساوي الواحد. | |||
===[[Ruby/Integer/bit length|<code>bit_length</code>]]=== | |||
يعيد عدد بتات العدد الذي استُدعي معه. | |||
===[[Ruby/Integer/ceil|<code>ceil</code>]]=== | |||
يعيد أصغر عدد من الأعداد الأكبر من أو تساوي قيمة العدد الذي استُدعي معه وبدقة (precision) تساوي العدد الممرر إليه (القيمة الابتدائية هي <code>0</code>) . | |||
===[[Ruby/Integer/chr|<code>chr</code>]]=== | |||
يعيد سلسلة نصية تحتوي على الحرف الذي تمثله قيمة العدد الذي استُدعي معه حسب الترميز المحدد. | |||
===[[Ruby/Integer/coerce|<code>coerce</code>]]=== | |||
يعيد مصفوفة تضم القيمتين <code>numeric</code> و <code>big</code> ممثلتين على شكل كائن من الصنف <code>Bignum</code>، وذلك عبر تحويل <code>numeric</code> إلى <code>Bignum</code>. | |||
===[[Ruby/Integer/denominator|<code>denominator</code>]]=== | |||
يعيد القيمة <code>1</code>. | |||
===[[Ruby/Integer/digits|<code>digits</code>]]=== | |||
يفكك العدد الذي استٌدعي معه عبر تقسيم الأرقام التي تكوّنه من اليسار إلى اليمين، بحيث تكون أصغر من الوسيط الممرر إليه ثم يضعها في مصفوفة، مع وضع الرقم الأقل أهمية (least significant digit) في بداية المصفوفة. | |||
===[[Ruby/Integer/div|<code>div</code>]]=== | |||
يعيد ناتج عملية قسمة العدد الذي استدعي معه على العدد الذي مُرِّر إليه. | |||
===[[Ruby/Integer/divmod|<code>divmod</code>]]=== | |||
يعيد مصفوفة تحتوي على حاصل (quotient) وباقي (modulus) عملية تقسيم العدد الذي استٌدعي التابع معه على العدد المُمرّر إليه. | |||
===[[Ruby/Integer/downto|<code>downto</code>]]=== | |||
يكرر تنفيذ الكتلة البرمجية المعطاة مع تمرير الأعداد تنازليًا بداية من العدد الذي استُدعيت معه وحتى العدد المعطى. | |||
===[[Ruby/Integer/even-3F|<code>even?</code>]]=== | |||
يتحقق إن كان العدد الذي استٌدعي معه زوجيًا. | |||
===[[Ruby/Integer/fdiv|<code>fdiv</code>]]=== | |||
يعيد العدد العشري الناتج عن عملية قسمة العدد الذي استُدعي معه على العدد المُمرّر إليه. | |||
===[[Ruby/Integer/floor|<code>floor</code>]]=== | |||
يعيد أكبر عدد من الأعداد الأصغر من أو تساوي العدد الذي استُدعي معه وبدقة (precision) تساوي العدد المعطى (القيمة الابتدائية هي <code>0</code>). | |||
===[[Ruby/Integer/gcd|<code>gcd</code>]]=== | |||
يعيد أكبر قاسم مشترك للعدد الذي استُدعي معه والعدد المٌعطى. | |||
===[[Ruby/Integer/gcdlcm|<code>gcdlcm</code>]]=== | |||
يعيد مصفوفة تضم أكبر قاسم مشترك وأصغر مضاعف مشترك للعدد الذي استُدعي معه والعدد المٌعط؛ أي <code>[gcd, lcm]</code>. | |||
===[[Ruby/Integer/inspect|<code>inspect</code>]]=== | |||
هو اسم بديل للتابع <code>[[Ruby/Integer/to s|to_s]]</code>. | |||
===[[Ruby/Integer/integer-3F|<code>nteger?</code>]]=== | |||
يعيد القيمة <code>true</code> دائمًا إن كان العدد المستدعى معه صحيح. | |||
===[[Ruby/Integer/lcm|<code>lcm</code>]]=== | |||
يعيد أصغر مضاعف مشترك للعدد الذي استُدعي معه والعدد المٌعطى. | |||
===[[Ruby/Integer/magnitude|<code>magnitude</code>]]=== | |||
يعيد القيمة المطلقة للعدد الذي استُدعي معه. | |||
===[[Ruby/Integer/modulo|<code>modulo</code>]]=== | |||
يعيد باقي عملية قسمة العدد الذي استُدعي معه على العدد المُعطى. | |||
===[[Ruby/Integer/next|<code>next</code>]]=== | |||
يعيد العدد التالي للعدد الصحيح الذي استُدعي معه. أي يعيد القيمة <code>int+1</code>. | |||
===[[Ruby/Integer/nobits-3F|<code>nobits?</code>]]=== | |||
يتحقق إن كانت قيم كل البتات الناتجة عن العملية <code>[[Ruby/Integer/and|&]]</code> بين العددين المعطيين تخالف الواحد. | |||
===[[Ruby/Integer/numerator|<code>numerator</code>]]=== | |||
يعيد العدد الذي استُدعي معه. | |||
===[[Ruby/Integer/odd-3F|<code>odd?</code>]]=== | |||
يتحقق إن كان العدد الذي استٌدعي معه فرديًا. | |||
===[[Ruby/Integer/ord|<code>ord</code>]]=== | |||
يعيد العدد الصحيح الذي استٌدعي معه. | |||
===[[Ruby/Integer/pow|<code>pow</code>]]=== | |||
يحسب ناتج رفع الأس إلى أساس محدد أو باقي قسمة الناتج السابق على عدد محدَّد. | |||
===[[Ruby/Integer/pred|<code>pred</code>]]=== | |||
يعيد العدد السابق على العدد الذي استُدعي معه. أي <code>int-1</code>. | |||
===[[Ruby/Integer/rationalize|<code>rationalize</code>]]=== | |||
يعيد قيمة العدد الذي استُدعي معه على شكل عدد جذري (rational). | |||
===[[Ruby/Integer/remainder|<code>remainder</code>]]=== | |||
يعيد باقي عملية قسمة العدد الذي استدعي معه على العدد الذي مُرِّر إليه. | |||
===[[Ruby/Integer/round|<code>round</code>]]=== | |||
يقرِّب العدد الذي استُدعي معه إلى أقرب قيمة مع دقة (precision) تساوي العدد الممرر إليه. | |||
===[[Ruby/Integer/size|<code>size</code>]]=== | |||
يعيد عدد البتات في تمثيل الآلة (machine representation) للعدد الذي استُدعي معه. الناتج يتعلق بالآلة المستخدمة. | |||
===[[Ruby/Integer/succ|<code>succ</code>]]=== | |||
يعيد العدد الموالي للعدد الذي استُدعي معه. | |||
===[[Ruby/Integer/times|<code>times</code>]]=== | |||
يكرر تنفيذ الكتلة البرمجية المعطاة عددًا محدَّدًا من المرات مع تمرير قيم عددية ابتداءً من الصفر وحتى العدد الذي يسبق العدد المعطى. | |||
===[[Ruby/Integer/to f|<code>to_f</code>]]=== | |||
يحول العدد الصحيح الذي استُدعي معه إلى عدد عشري. | |||
===[[Ruby/Integer/to i|<code>to_i</code>]]=== | |||
يعيد العدد الصحيح الذي استُدعي معه دون تغيير. | |||
===[[Ruby/Integer/to int|<code>to_int</code>]]=== | |||
يعيد العدد الصحيح الذي استُدعي معه دون تغيير. | |||
===[[Ruby/Integer/to r|<code>to_r</code>]]=== | |||
يحول العدد الذي استُدعي معه إلى <nowiki/>[[Ruby/Rational|عدد جذري]] (rational). | |||
===[[Ruby/Integer/to s|<code>to_s</code>]]=== | |||
يحول العدد الصحيح الذي استدعي معه إلى سلسلة نصية ممثلًا بأساس محدَّد. | |||
===[[Ruby/Integer/truncate|<code>truncate</code>]]=== | |||
يعيد العدد الذي استُدعي معه بعد اقتطاعه إلى دقة (precision) محدَّدة. | |||
===[[Ruby/Integer/upto|<code>upto</code>]]=== | |||
يكرر تنفيذ الكتلة البرمجية المعطاة مع تمرير الأعداد تصاعديًا بدايةً من العدد الذي استُدعي معه وحتى العدد المعطى. | |||
==مصادر<span> </span>== | ==مصادر<span> </span>== | ||
*[http://ruby-doc.org/core-2.5.1/Integer.html قسم | *[http://ruby-doc.org/core-2.5.1/Integer.html قسم الصنف Integer في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 08:55، 22 نوفمبر 2018
يمثل الصنف Integer
الأعداد الصحيحة. لا يمكن إضافة تابع أحادي (singleton method) إلى كائن من الصنف Integer
، وأي محاولة لفعل ذلك ستؤدي إلى إطلاق الخطأ TypeError
.
الثوابت (Constants)
GMP_VERSION
يمثِّل النسخة GMP المُحمّلة.
توابع الصنف العامة (Public Class Methods)
sqrt
يعيد التابع sqrt
الجذر التربيعي الصحيح للعدد الصحيح الموجب المُمرر إليه.
توابع الكائن العامة (Public Instance Methods)
%
يعيد المعامل %
باقي عملية القسمة الصحيحة بين عددين.
&
ينفذ المعامل &
العملية AND بين بتات العددين المعطيين.
*
يعيد المعامل *
ناتج عملية الضرب بين عددين.
**
يعيد المعامل **
ناتج عملية رفع للعدد int
الأساس إلى قوة العدد numeric
(الأس).
+
يعيد المعامل +
ناتج عملية الجمع بين عددين.
-
يعيد المعامل -
ناتج عملية الطرح بين عددين.
-
إن استُعمِل المعامل -
بالشكل -int
، فسيعيد القيمة المعاكسة للعدد int
الصحيح الموجب (أي القيمة السالبة إن كان int
موجبًا أو العكس).
/
يعيد المعامل /
ناتج عملية القسمة بين عددين.
>
يعيد المعامل >
القيمة true
إن كانت قيمة العدد الصحيح الواقع على يساره أصغر من قيمة العدد الصحيح المواقع على يمينه.
<<
يزيح المعامل >>
العدد الصحيح المعطى إلى اليسار بقدار محدَّد من المنازل، أو إلى اليمين إن كانت قيمة مقدار الإزاحة سالبةً.
<=
يعيد المعامل =>
القيمة true
إن كانت قيمة العدد الواقع على يساره أصغر من أو تساوي قيمة العدد الواقع على يمينه.
<=>
يعيد معامل الموازنة <=>
عددًا صحيحًا (-1 أو 0 أو +1) إذا كان العدد الواقع على يساره أصغر من أو يساوي أو أكبر من العدد الآخر الواقع على يمينه على التوالي.
==
يعيد المعامل ==
القيمة true
إن كان العدد الصحيح الواقع على يساره يساوي القيمة الواقعة على يمينه.
<
يعيد المعامل <
القيمة true
إن كانت قيمة العدد الواقع على يساره أكبر من قيمة العدد الآخر الواقع على يمينه.
=<
يعيد التابع =<
القيمة true
إن كانت قيمة العدد الواقع على يساره أكبر من أو تساوي قيمة العدد الآخر الواقع على يمينه.
>>
يزيح المعامل <<
العدد الصحيح المعطى إلى اليمين بقدار محدَّد من المنازل، أو إلى اليسار إن كانت قيمة مقدار الإزاحة سالبةً.
[]
يعيد معامل الفهرسة []
البت الموجودة عند الموضع n
في التمثيل الثنائي للعدد الصحيح المعطى.
^
ينفذ المعامل ^
العملية XOR الثنائية بين بتات العددين المعطيين.
|
ينفذ المعامل |
العملية OR بين بتات العددين المعطيين.
~
يعيد المعامل ~
مكمل العدد الذي استُدعي معه، إذ يقلب قيمة كل بت من بتات العدد.
abs
يعيد القيمة المطلقة للعدد الذي استُدعي معه.
allbits?
يتحقق إن كانت قيم كل بتات ناتج تطبيق العملية &
على العدد الصحيح المعطى مع القناع الممرر إليه تساوي الواحد.
anybits?
يتحقق إن كانت قيمة إحدى بتات ناتج تطبيق العملية &
على العدد الصحيح المعطى مع القناع الممرر إليه تساوي الواحد.
bit_length
يعيد عدد بتات العدد الذي استُدعي معه.
ceil
يعيد أصغر عدد من الأعداد الأكبر من أو تساوي قيمة العدد الذي استُدعي معه وبدقة (precision) تساوي العدد الممرر إليه (القيمة الابتدائية هي 0
) .
chr
يعيد سلسلة نصية تحتوي على الحرف الذي تمثله قيمة العدد الذي استُدعي معه حسب الترميز المحدد.
coerce
يعيد مصفوفة تضم القيمتين numeric
و big
ممثلتين على شكل كائن من الصنف Bignum
، وذلك عبر تحويل numeric
إلى Bignum
.
denominator
يعيد القيمة 1
.
digits
يفكك العدد الذي استٌدعي معه عبر تقسيم الأرقام التي تكوّنه من اليسار إلى اليمين، بحيث تكون أصغر من الوسيط الممرر إليه ثم يضعها في مصفوفة، مع وضع الرقم الأقل أهمية (least significant digit) في بداية المصفوفة.
div
يعيد ناتج عملية قسمة العدد الذي استدعي معه على العدد الذي مُرِّر إليه.
divmod
يعيد مصفوفة تحتوي على حاصل (quotient) وباقي (modulus) عملية تقسيم العدد الذي استٌدعي التابع معه على العدد المُمرّر إليه.
downto
يكرر تنفيذ الكتلة البرمجية المعطاة مع تمرير الأعداد تنازليًا بداية من العدد الذي استُدعيت معه وحتى العدد المعطى.
even?
يتحقق إن كان العدد الذي استٌدعي معه زوجيًا.
fdiv
يعيد العدد العشري الناتج عن عملية قسمة العدد الذي استُدعي معه على العدد المُمرّر إليه.
floor
يعيد أكبر عدد من الأعداد الأصغر من أو تساوي العدد الذي استُدعي معه وبدقة (precision) تساوي العدد المعطى (القيمة الابتدائية هي 0
).
gcd
يعيد أكبر قاسم مشترك للعدد الذي استُدعي معه والعدد المٌعطى.
gcdlcm
يعيد مصفوفة تضم أكبر قاسم مشترك وأصغر مضاعف مشترك للعدد الذي استُدعي معه والعدد المٌعط؛ أي [gcd, lcm]
.
inspect
هو اسم بديل للتابع to_s
.
nteger?
يعيد القيمة true
دائمًا إن كان العدد المستدعى معه صحيح.
lcm
يعيد أصغر مضاعف مشترك للعدد الذي استُدعي معه والعدد المٌعطى.
magnitude
يعيد القيمة المطلقة للعدد الذي استُدعي معه.
modulo
يعيد باقي عملية قسمة العدد الذي استُدعي معه على العدد المُعطى.
next
يعيد العدد التالي للعدد الصحيح الذي استُدعي معه. أي يعيد القيمة int+1
.
nobits?
يتحقق إن كانت قيم كل البتات الناتجة عن العملية &
بين العددين المعطيين تخالف الواحد.
numerator
يعيد العدد الذي استُدعي معه.
odd?
يتحقق إن كان العدد الذي استٌدعي معه فرديًا.
ord
يعيد العدد الصحيح الذي استٌدعي معه.
pow
يحسب ناتج رفع الأس إلى أساس محدد أو باقي قسمة الناتج السابق على عدد محدَّد.
pred
يعيد العدد السابق على العدد الذي استُدعي معه. أي int-1
.
rationalize
يعيد قيمة العدد الذي استُدعي معه على شكل عدد جذري (rational).
remainder
يعيد باقي عملية قسمة العدد الذي استدعي معه على العدد الذي مُرِّر إليه.
round
يقرِّب العدد الذي استُدعي معه إلى أقرب قيمة مع دقة (precision) تساوي العدد الممرر إليه.
size
يعيد عدد البتات في تمثيل الآلة (machine representation) للعدد الذي استُدعي معه. الناتج يتعلق بالآلة المستخدمة.
succ
يعيد العدد الموالي للعدد الذي استُدعي معه.
times
يكرر تنفيذ الكتلة البرمجية المعطاة عددًا محدَّدًا من المرات مع تمرير قيم عددية ابتداءً من الصفر وحتى العدد الذي يسبق العدد المعطى.
to_f
يحول العدد الصحيح الذي استُدعي معه إلى عدد عشري.
to_i
يعيد العدد الصحيح الذي استُدعي معه دون تغيير.
to_int
يعيد العدد الصحيح الذي استُدعي معه دون تغيير.
to_r
يحول العدد الذي استُدعي معه إلى عدد جذري (rational).
to_s
يحول العدد الصحيح الذي استدعي معه إلى سلسلة نصية ممثلًا بأساس محدَّد.
truncate
يعيد العدد الذي استُدعي معه بعد اقتطاعه إلى دقة (precision) محدَّدة.
upto
يكرر تنفيذ الكتلة البرمجية المعطاة مع تمرير الأعداد تصاعديًا بدايةً من العدد الذي استُدعي معه وحتى العدد المعطى.