الفرق بين المراجعتين لصفحة: «Ruby/Integer»

من موسوعة حسوب
طلا ملخص تعديل
 
(3 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الصنف <code>Integer</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby Class]]
[[تصنيف: Ruby Integer]]
يمثل الصنف <code>Integer</code> الأعداد الصحيحة. لا يمكن إضافة تابع أحادي (singleton method) إلى كائن من الصنف <code>Integer</code>، وأي محاولة لفعل ذلك ستؤدي إلى إطلاق الخطأ <code>[[Ruby/TypeError|TypeError]]</code>.
يمثل الصنف <code>Integer</code> الأعداد الصحيحة. لا يمكن إضافة تابع أحادي (singleton method) إلى كائن من الصنف <code>Integer</code>، وأي محاولة لفعل ذلك ستؤدي إلى إطلاق الخطأ <code>[[Ruby/TypeError|TypeError]]</code>.
==الثوابت (Constants)==
==الثوابت (Constants)==
سطر 6: سطر 10:
===[[Ruby/Integer/sqrt|<code>sqrt</code>]]===
===[[Ruby/Integer/sqrt|<code>sqrt</code>]]===
يعيد التابع <code>sqrt‎</code> الجذر التربيعي الصحيح للعدد الصحيح الموجب المُمرر إليه.
يعيد التابع <code>sqrt‎</code> الجذر التربيعي الصحيح للعدد الصحيح الموجب المُمرر إليه.
 
==توابع الكائن العامة (Public Instance Methods)==
== توابع الكائن العامة (Public Instance Methods) ==
 
===[[Ruby/Integer/modul|<code>%</code>]]===
===[[Ruby/Integer/modul|<code>%</code>]]===
يعيد المعامل <code>%‎</code> باقي عملية القسمة الصحيحة بين عددين.
يعيد المعامل <code>%‎</code> باقي عملية القسمة الصحيحة بين عددين.
سطر 14: سطر 16:
ينفذ المعامل <code>&</code> العملية AND بين بتات العددين المعطيين.
ينفذ المعامل <code>&</code> العملية AND بين بتات العددين المعطيين.
===[[Ruby/Integer/multiplication|<code>*</code>]]===
===[[Ruby/Integer/multiplication|<code>*</code>]]===
يعيد التابع <code>*‎</code> ناتج عملية الضرب بين عددين.
يعيد المعامل <code>*‎</code> ناتج عملية الضرب بين عددين.
===[[Ruby/Integer/expo|<code>**</code>]]===
===[[Ruby/Integer/expo|<code>**</code>]]===
يعيد المعامل <code>**‎</code> ناتج عملية رفع للعدد <code>int</code> الأساس إلى قوة العدد <code>numeric</code> (الأس).
يعيد المعامل <code>**‎</code> ناتج عملية رفع للعدد <code>int</code> الأساس إلى قوة العدد <code>numeric</code> (الأس).
سطر 30: سطر 32:
يزيح المعامل <code>>></code> العدد الصحيح المعطى إلى اليسار بقدار محدَّد من المنازل، أو إلى اليمين إن كانت قيمة مقدار الإزاحة سالبةً.
يزيح المعامل <code>>></code> العدد الصحيح المعطى إلى اليسار بقدار محدَّد من المنازل، أو إلى اليمين إن كانت قيمة مقدار الإزاحة سالبةً.
===[[Ruby/Integer/3C-3D| <code>‎<=‎</code>]]===
===[[Ruby/Integer/3C-3D| <code>‎<=‎</code>]]===
يعيد التابع <code>=></code> القيمة <code>true</code> إن كانت قيمة العدد الواقع على يساره أصغر من أو تساوي قيمة العدد الواقع على يمينه.
يعيد المعامل <code>=></code> القيمة <code>true</code> إن كانت قيمة العدد الواقع على يساره أصغر من أو تساوي قيمة العدد الواقع على يمينه.
===[[Ruby/Integer/Comparison|التابع <=>]]===
===[[Ruby/Integer/Comparison|<code><=></code>]]===
يعيد معامل الموازنة <code><=></code> عددً‎ا صحيحًا (<code>‎-1</code> أو <code>0</code> أو <code>+1</code>) إذا كان العدد <code>int</code> أصغر من أو يساوي أو أكبر من العدد الآخر على التوالي.
يعيد معامل الموازنة <code><=></code> عددً‎ا صحيحًا (‎-1 أو 0 أو ‎+1) إذا كان العدد الواقع على يساره أصغر من أو يساوي أو أكبر من العدد الآخر الواقع على يمينه على التوالي.
===[[Ruby/Integer/equal|التابع ==]]===
===[[Ruby/Integer/equal|<code>==</code>]]===
يعيد المعامل <code>==</code> القيمة <code>true</code> إن كان <code>int</code> يساوي الكائن <code>other</code> عدديًا.
يعيد المعامل <code>==</code> القيمة <code>true</code> إن كان العدد الصحيح الواقع على يساره يساوي القيمة الواقعة على يمينه.
===[[Ruby/Integer/greater|التابع >]]===
===[[Ruby/Integer/greater|<code><</code>]]===
يعيد التابع <code><</code> القيمة <code>true</code> إن كانت قيمة <code>int</code> أكبر من قيمة <code>real</code> (انظر فقرة البنية العامة).
يعيد المعامل <code><</code> القيمة <code>true</code> إن كانت قيمة العدد الواقع على يساره أكبر من قيمة العدد الآخر الواقع على يمينه.
===[[Ruby/Integer/3E-3D| التابع ‎>=‎‎‎]]===
===[[Ruby/Integer/3E-3D| <code>=<‎‎‎</code>]]===
يعيد التابع <code>=<</code> القيمة <code>true</code> إن كانت قيمة <code>int</code> أكبر من أو تساوي قيمة <code>real</code>.
يعيد التابع <code>=<</code> القيمة <code>true</code> إن كانت قيمة العدد الواقع على يساره أكبر من أو تساوي قيمة العدد الآخر الواقع على يمينه.
===[[Ruby/Integer/3E-3E| التابع ‎>>‎]]===
===[[Ruby/Integer/3E-3E| <code>>>‎</code>]]===
يعيد التابع <code><<</code> قيمة <code>int</code> مُزاحة إلى اليمين بـ <code>count</code>  موضع، أو إلى اليسار إن كان <code>count</code> سالبًا (انظر فقرة البنية العامة).
يزيح المعامل <code><<</code> العدد الصحيح المعطى إلى اليمين بقدار محدَّد من المنازل، أو إلى اليسار إن كانت قيمة مقدار الإزاحة سالبةً.
===[[Ruby/Integer/index|التابع []]]===
===<code rel="mw:WikiLink" title="Ruby/Integer/index" href="Ruby/Integer/index">[[Ruby/Integer/index|[]]]</code>===
يعيد معامل الفهرسة <code>[]</code> البتة الموجودة عند الموضع <code>n</code> في التمثيل الثنائي للعدد <code>int</code>  (انظر فقرة البنية العامة)، بحيث <code>[0]int</code> هو البتة الأقل أهمية (least significant bit).
يعيد معامل الفهرسة <code>[]</code> البت الموجودة عند الموضع <code>n</code> في التمثيل الثنائي للعدد الصحيح المعطى.
===[[Ruby/Integer/or|التابع ^]]===
===[[Ruby/Integer/or|<code>^</code>]]===
ينفذ المعامل <code>^</code> عملية "أو" الحصرية (EXCLUSIVE OR) بين بتات طرفي العملية، بتةً بتةً.
ينفذ المعامل <code>^</code> العملية XOR الثنائية بين بتات العددين المعطيين.
===[[Ruby/Integer/abs| التابع abs]]===
===[[Ruby/Integer/7C|<code><nowiki>|</nowiki></code>]]===
يعيد التابع <code>abs</code> القيمة المطلقة للعدد الذي استُدعي معه.
ينفذ المعامل <code>|</code> العملية OR بين بتات العددين المعطيين.
===[[Ruby/Integer/allbits-3F| التابع allbits?‎]]===
===[[Ruby/Integer/~|<code>~</code>]]===
يعيد التابع <code>allbits?‎</code> القيمة <code>true</code> إن كانت قيم كل بتات ناتج العملية <code>int & mask</code> تساوي واحد.
يعيد المعامل <code>~</code> مكمل العدد الذي استُدعي معه، إذ يقلب قيمة كل بت من بتات العدد.
===[[Ruby/Integer/anybits-3F| التابع anybits?‎]]===
===[[Ruby/Integer/abs|<code>abs</code>]]===
يعيد التابع <code>anybits?‎</code> القيمة <code>true</code> إن كانت قيمة إحدى بتات ناتج العملية <code>int & mask</code> تساوي واحد. 
يعيد القيمة المطلقة للعدد الذي استُدعي معه.
===[[Ruby/Integer/bit length| التابع bit_length]]===
===[[Ruby/Integer/allbits-3F|<code>allbits?‎</code>]]===
يعيد التابع <code>bit_length‎</code> عدد بتات قيمة العدد الذي استُدعي معه.
يتحقق إن كانت قيم كل بتات ناتج تطبيق العملية <code>[[Ruby/Integer/and|&]]</code> على العدد الصحيح المعطى مع القناع الممرر إليه تساوي الواحد.
===[[Ruby/Integer/ceil| التابع ceil]]===
===[[Ruby/Integer/anybits-3F|<code>anybits?‎</code>]]===
يعيد التابع <code>ceil‎</code> أصغر عدد من الأعداد الأكبر من أو تساوي قيمة العدد الذي استُدعي معه وبدقة (precision) تساوي <code>ndigits</code> رقم عشري (القيمة الابتدائية هي <code>0</code>) .
يتحقق إن كانت قيمة إحدى بتات ناتج تطبيق العملية <code>[[Ruby/Integer/and|&]]</code> على العدد الصحيح المعطى مع القناع الممرر إليه تساوي الواحد.
===[[Ruby/Integer/chr| التابع chr]]===
===[[Ruby/Integer/bit length|<code>bit_length</code>]]===
يعيد التابع <code>chr‎</code> سلسلة نصية تحتوي على الحرف الذي تمثله قيمة العدد الذي استُدعي معه حسب الترميز المُمرّر <code>encoding</code>.
يعيد عدد بتات العدد الذي استُدعي معه.
===[[Ruby/Integer/coerce| التابع coerce]]===
===[[Ruby/Integer/ceil|<code>ceil</code>]]===
يعيد التابع <code>coerce‎</code> مصفوفة تضم قيمتين <code>numeric</code> و <code>big</code> ممثلًا على شكل كائن من الصنف <code>Bignum</code>، وذلك عبر تحويل  <code>numeric</code> إلى <code>Bignum</code>.
يعيد أصغر عدد من الأعداد الأكبر من أو تساوي قيمة العدد الذي استُدعي معه وبدقة (precision) تساوي العدد الممرر إليه (القيمة الابتدائية هي <code>0</code>) .
===[[Ruby/Integer/denominator| التابع denominator]]===
===[[Ruby/Integer/chr|<code>chr</code>]]===
يعيد التابع <code>denominator‎</code> القيمة <code>1</code>.
يعيد سلسلة نصية تحتوي على الحرف الذي تمثله قيمة العدد الذي استُدعي معه حسب الترميز المحدد.
===[[Ruby/Integer/digits| التابع digits]]===
===[[Ruby/Integer/coerce|<code>coerce</code>]]===
يقوم التابع <code>digits‎</code> بتفكيك العدد الذي استٌدعي معه، حيث يقوم بتقسيم الأرقام التي تكوّنه من اليسار إلى اليمين،، بحيث تكون أصغر من الوسيط الممرر<code>base</code>، ذو القيمة الافتراضية <code>10</code>، ثم يضعها في مصفوفة، مع وضع الرقم الأقل دلالة ( least significant digit) في بداية المصفوفة،
يعيد مصفوفة تضم القيمتين <code>numeric</code> و <code>big</code> ممثلتين على شكل كائن من الصنف <code>Bignum</code>، وذلك عبر تحويل <code>numeric</code> إلى <code>Bignum</code>.
===[[Ruby/Integer/div| التابع div]]===
===[[Ruby/Integer/denominator|<code>denominator</code>]]===
يعيد التابع <code>div‎</code> ناتج عملية قسمة العدد <code>int</code> على العدد <code>numeric</code> (انظر فقرة البنية العامة).
يعيد القيمة <code>1</code>.
===[[Ruby/Integer/divmod| التابع divmod]]===
===[[Ruby/Integer/digits|<code>digits</code>]]===
يعيد التابع <code>divmod‎</code> مصفوفة تحتوي على حاصل (quotient) وباقي (modulus) عملية تقسيم العدد الذي استٌدعي التابع معه على العدد المُمرّر<code>numeric</code>.
يفكك العدد الذي استٌدعي معه عبر تقسيم الأرقام التي تكوّنه من اليسار إلى اليمين، بحيث تكون أصغر من الوسيط الممرر إليه ثم يضعها في مصفوفة، مع وضع الرقم الأقل أهمية (least significant digit) في بداية المصفوفة.
===[[Ruby/Integer/downto| التابع downto]]===
===[[Ruby/Integer/div|<code>div</code>]]===
يقوم التابع <code>downto‎</code> بتكرار تنفيذ الكتلة البرمجية المعطاة مع تمرير الأعداد تنازليًا بداية من العدد الذي استُدعيت معه وحتى العدد المعطى <code>limit</code>.
يعيد ناتج عملية قسمة العدد الذي استدعي معه على العدد الذي مُرِّر إليه.
===[[Ruby/Integer/even-3F| التابع even?‎]]===
===[[Ruby/Integer/divmod|<code>divmod</code>]]===
يعيد التابع <code>even?‎</code> القيمة <code>true</code> إن كان العدد الذي استٌدعي معه زوجيًا.
يعيد مصفوفة تحتوي على حاصل (quotient) وباقي (modulus) عملية تقسيم العدد الذي استٌدعي التابع معه على العدد المُمرّر إليه.
===[[Ruby/Integer/fdiv| التابع fdiv]]===
===[[Ruby/Integer/downto|<code>downto</code>]]===
يعيد التابع <code>fdiv‎</code> الناتج الكسري (floating point result) لعملية قسمة العدد الذي استُدعي معه على العدد المُمرّر <code>numeric</code>.
يكرر تنفيذ الكتلة البرمجية المعطاة مع تمرير الأعداد تنازليًا بداية من العدد الذي استُدعيت معه وحتى العدد المعطى.
===[[Ruby/Integer/floor| التابع floor]]===
===[[Ruby/Integer/even-3F|<code>even?‎</code>]]===
يعيد التابع <code>floor‎</code> أكبر عدد من الأعداد الأصغر من أو تساوي العدد الذي استُدعي معه وبدقة (precision) تساوي <code>ndigits</code> رقم عشري (القيمة الابتدائية هي <code>0</code>)
يتحقق إن كان العدد الذي استٌدعي معه زوجيًا.
===[[Ruby/Integer/gcd| التابع gcd]]===
===[[Ruby/Integer/fdiv|<code>fdiv</code>]]===
يعيد التابع <code>gcd‎</code> أكبر قاسم مشترك للعدد الذي استُدعي معه والعدد المٌعطى. النتيجة دائمًا موجبة، كما يعيد التعبيران <code>0.gcd(x)‎</code> و <code>x.gcd(0)‎</code>. القيمة<code>x.abs</code>.
يعيد العدد العشري الناتج عن عملية قسمة العدد الذي استُدعي معه على العدد المُمرّر إليه.
===[[Ruby/Integer/gcdlcm| التابع gcdlcm]]===
===[[Ruby/Integer/floor|<code>floor</code>]]===
يعيد التابع <code>gcdlcm‎</code> مصفوفة تضم أكبر قاسم مشترك وأصغر مضاعف مشترك للعدد الذي استُدعي معه والعدد المٌعطى، أي <code>[gcd, lcm]</code>.
يعيد أكبر عدد من الأعداد الأصغر من أو تساوي العدد الذي استُدعي معه وبدقة (precision) تساوي العدد المعطى (القيمة الابتدائية هي <code>0</code>)
===[[Ruby/Integer/inspect| التابع inspect]]===
===[[Ruby/Integer/gcd|<code>gcd</code>]]===
<code>inspect‎</code> هو اسم آخر للتابع <code>[[Ruby/Integer/to s|to_s]]</code>.
يعيد أكبر قاسم مشترك للعدد الذي استُدعي معه والعدد المٌعطى.
===[[Ruby/Integer/integer-3F| التابع integer?‎]]===
===[[Ruby/Integer/gcdlcm|<code>gcdlcm</code>]]===
يعيد التابع <code>integer?‎</code> القيمة <code>true</code> دائمًا.
يعيد مصفوفة تضم أكبر قاسم مشترك وأصغر مضاعف مشترك للعدد الذي استُدعي معه والعدد المٌعط؛ أي <code>[gcd, lcm]</code>.
===[[Ruby/Integer/lcm| التابع lcm]]===
===[[Ruby/Integer/inspect|<code>inspect</code>]]===
يعيد التابع <code>lcm‎</code> أصغر مضاعف مشترك للعدد الذي استُدعي معه والعدد المٌعطى. النتيجة دائمًا موجبة، كما يعيد التعبيران <code>0.lcm(x)‎</code> و <code>x.lcm(0)‎</code>. القيمة <code>0</code>. 
هو اسم بديل للتابع <code>[[Ruby/Integer/to s|to_s]]</code>.
===[[Ruby/Integer/magnitude| التابع magnitude]]===
===[[Ruby/Integer/integer-3F|<code>nteger?‎</code>]]===
يعيد التابع <code>magnitude</code> القيمة المطلقة للعدد الذي استُدعي معه.
يعيد القيمة <code>true</code> دائمًا إن كان العدد المستدعى معه صحيح.
===[[Ruby/Integer/modulo| التابع modulo]]===
===[[Ruby/Integer/lcm|<code>lcm</code>]]===
يعيد المعامل <code>modulo‎</code> باقي عملية قسمة العدد الذي استُدعي معه على العدد المُعطى.
يعيد أصغر مضاعف مشترك للعدد الذي استُدعي معه والعدد المٌعطى.
===[[Ruby/Integer/next| التابع next]]===
===[[Ruby/Integer/magnitude|<code>magnitude</code>]]===
يعيد التابع <code>next‎</code> العدد الموالي للعدد الذي استُدعي معه. أي <code>int+1</code>.
يعيد القيمة المطلقة للعدد الذي استُدعي معه.
===[[Ruby/Integer/nobits-3F| التابع<code>nobits?‎</code>]]===
===[[Ruby/Integer/modulo|<code>modulo</code>]]===
يعيد التابع <code>nobits?‎</code> القيمة <code>true</code> إن كانت قيم كل البتات الناتجة عن العملية <code>int & mask</code> تخالف واحد.
يعيد باقي عملية قسمة العدد الذي استُدعي معه على العدد المُعطى.
===[[Ruby/Integer/numerator| التابع numerator]]===
===[[Ruby/Integer/next|<code>next</code>]]===
يعيد التابع <code>numerator‎</code> العدد الذي استُدعي معه.
يعيد العدد التالي للعدد الصحيح الذي استُدعي معه. أي يعيد القيمة <code>int+1</code>.
===[[Ruby/Integer/odd-3F| التابع<code>odd?‎</code>]]===
===[[Ruby/Integer/nobits-3F|<code>nobits?‎</code>]]===
يعيد التابع <code>odd?‎</code> القيمة <code>true</code> إن كان العدد الذي استٌدعي معه فرديًا. 
يتحقق إن كانت قيم كل البتات الناتجة عن العملية <code>[[Ruby/Integer/and|&]]</code> بين العددين المعطيين تخالف الواحد.
===[[Ruby/Integer/ord| التابع ord]]===
===[[Ruby/Integer/numerator|<code>numerator</code>]]===
يعيد التابع <code>ord‎</code> العدد الذي استٌدعي معه.
يعيد العدد الذي استُدعي معه.
===[[Ruby/Integer/pow| التابع pow]]===
===[[Ruby/Integer/odd-3F|<code>odd?‎</code>]]===
يعيد التابع <code>pow‎</code> الأس التوافقي (modular exponentiation ) للعدد الذي استُدعي معه والعددين المٌمرّرين (الثاني اختياري).
يتحقق إن كان العدد الذي استٌدعي معه فرديًا. 
===[[Ruby/Integer/pred| التابع pred]]===
===[[Ruby/Integer/ord|<code>ord</code>]]===
يعيد التابع <code>pred‎</code> العدد السابق على العدد الذي استُدعي معه. أي <code>int-1</code>.
يعيد العدد الصحيح الذي استٌدعي معه.
===[[Ruby/Integer/rationalize| التابع rationalize]]===
===[[Ruby/Integer/pow|<code>pow</code>]]===
يعيد التابع <code>rationalize‎</code> قيمة العدد الذي استُدعي معه على شكل عدد جذري (rational). الوسيط المُمرّر <code>eps</code> يُتجاهل دائمًا.
يحسب ناتج رفع الأس إلى أساس محدد أو باقي قسمة الناتج السابق على عدد محدَّد.
===[[Ruby/Integer/remainder| التابع remainder]]===
===[[Ruby/Integer/pred|<code>pred</code>]]===
يعيد التابع <code>remainder‎</code> باقي عملية قسمة العدد <code>int</code> على العدد <code>numeric</code> (انظر فقرة البنية العامة).
يعيد العدد السابق على العدد الذي استُدعي معه. أي <code>int-1</code>.
===[[Ruby/Integer/round| التابع round]]===
===[[Ruby/Integer/rationalize|<code>rationalize</code>]]===
يعيد التابع <code>round‎</code> العدد الذي استُدعي معه مُقرّبًا (rounded) إلى أقرب قيمة، مع دقة (precision) تساوي <code>ndigits</code> رقم عشري (القيمة الابتدائية هي<code>0</code>) .
يعيد قيمة العدد الذي استُدعي معه على شكل عدد جذري (rational).
===[[Ruby/Integer/size| التابع size]]===
===[[Ruby/Integer/remainder|<code>remainder</code>]]===
يعيد التابع <code>size‎</code> عدد البتات في تمثيل الآلة (machine representation) للعدد الذي استُدعي معه، النتيجة تتعلق بالآلة المستخدمة.
يعيد باقي عملية قسمة العدد الذي استدعي معه على العدد الذي مُرِّر إليه.
===[[Ruby/Integer/succ| التابع succ]]===
===[[Ruby/Integer/round|<code>round</code>]]===
يعيد التابع <code>succ‎</code> العدد الموالي للعدد الذي استُدعي معه. أي <code>int+1</code>.
يقرِّب العدد الذي استُدعي معه إلى أقرب قيمة مع دقة (precision) تساوي العدد الممرر إليه.
===[[Ruby/Integer/times| التابع times]]===
===[[Ruby/Integer/size|<code>size</code>]]===
يقوم التابع <code>times‎</code> بتكرار تنفيذ الكتلة البرمجية المعطاة عددًا من المرات يساوي قيمة العدد الذي استُدعي معه، مع تمرير قيم عددية ابتداء من الصفر وحتى العدد <code>int - 1</code>.
يعيد عدد البتات في تمثيل الآلة (machine representation) للعدد الذي استُدعي معه. الناتج يتعلق بالآلة المستخدمة.
===[[Ruby/Integer/to f| التابع to_f]]===
===[[Ruby/Integer/succ|<code>succ</code>]]===
يحول التابع <code>to_f‎</code> العدد الذي استُدعي معه من الصنف <code>Integer</code> إلى الصنف <code>float</code>، في حال لم يكن التحويل ممكنًا، فستُعاد اللانهاية.
يعيد العدد الموالي للعدد الذي استُدعي معه.
===[[Ruby/Integer/to i| التابع to_i]]===
===[[Ruby/Integer/times|<code>times</code>]]===
يعيد التابع <code>to_i‎</code> العدد الذي استُدعي معه دون تغيير يكافئ ([[Ruby/Integer/to int|<code>to_int</code>]]).
يكرر تنفيذ الكتلة البرمجية المعطاة عددًا محدَّدًا من المرات مع تمرير قيم عددية ابتداءً من الصفر وحتى العدد الذي يسبق العدد المعطى.
===[[Ruby/Integer/to int| التابع to_int]]===
===[[Ruby/Integer/to f|<code>to_f</code>]]===
يعيد التابع <code>to_int</code> العدد الذي استُدعي معه دون تغيير يكافئ (<code>[[Ruby/Integer/to i|to_i]]</code>).
يحول العدد الصحيح الذي استُدعي معه إلى عدد عشري.
===[[Ruby/Integer/to r| التابع to_r]]===
===[[Ruby/Integer/to i|<code>to_i</code>]]===
يحول التابع <code>to_r</code> العدد الذي استُدعي معه إلى عدد جذري (rational).
يعيد العدد الصحيح الذي استُدعي معه دون تغيير.
===[[Ruby/Integer/to s| التابع to_s]]===
===[[Ruby/Integer/to int|<code>to_int</code>]]===
يعيد التابع <code>to_s‎</code> سلسلة نصية تحتوي على التمثيل الموضعي (place-value representation) للعدد الذي استُدعي معه، وفق الأساس (radix) المعطى<code>base</code> (محصور بين <code>2</code> و <code>36</code>)
يعيد العدد الصحيح الذي استُدعي معه دون تغيير.
===[[Ruby/Integer/truncate| التابع truncate]]===
===[[Ruby/Integer/to r|<code>to_r</code>]]===
يعيد التابع <code>truncate‎</code> العدد الذي استُدعي معه مُقتطعًا (truncated) إلى دقة (precision) تساوي <code>ndigits</code> رقم عشري (القيمة الابتدائية هي <code>0</code>) .
يحول العدد الذي استُدعي معه إلى <nowiki/>[[Ruby/Rational|عدد جذري]] (rational).
===[[Ruby/Integer/upto| التابع upto]]===
===[[Ruby/Integer/to s|<code>to_s</code>]]===
يقوم التابع <code>upto‎</code> بتكرار تنفيذ الكتلة البرمجية المعطاة مع تمرير الأعداد تصاعديًا بداية من العدد الذي استُدعيت معه وحتى العدد المعطى <code>limit</code>.
يحول العدد الصحيح الذي استدعي معه إلى سلسلة نصية ممثلًا بأساس محدَّد.
===[[Ruby/Integer/7C| التابع |]]===
===[[Ruby/Integer/truncate|<code>truncate</code>]]===
ينفذ المعامل <code>|</code> عملية "أو" (OR) بين بتات طرفي العملية، بتةً بتةً.
يعيد العدد الذي استُدعي معه بعد اقتطاعه إلى دقة (precision) محدَّدة.
===[[Ruby/Integer/~| التابع ~]]===
===[[Ruby/Integer/upto|<code>upto</code>]]===
يعيد المعامل <code>~</code> مكمل العدد الذي استُدعي معه، حيث يقلب قيمة كل بت من بتات العدد.
يكرر تنفيذ الكتلة البرمجية المعطاة مع تمرير الأعداد تصاعديًا بدايةً من العدد الذي استُدعي معه وحتى العدد المعطى.
==مصادر<span> </span>==
==مصادر<span> </span>==
*[http://ruby-doc.org/core-2.5.1/Integer.html قسم الصنف Integer في توثيق روبي الرسمي.]
*[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

يكرر تنفيذ الكتلة البرمجية المعطاة مع تمرير الأعداد تصاعديًا بدايةً من العدد الذي استُدعي معه وحتى العدد المعطى.

مصادر