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

من موسوعة حسوب
لا ملخص تعديل
طلا ملخص تعديل
سطر 1: سطر 1:
يمثل الصنف <code>Integer</code> الأعداد الصحيحة. لا يمكن إضافة تابع أحادي (singleton method) إلى كائن من الصنف <code>Integer</code>، وأي محاولة لفعل ذلك ستؤدي إلى إطلاق الخطأ <code>TypeError</code>.
يمثل الصنف <code>Integer</code> الأعداد الصحيحة. لا يمكن إضافة تابع أحادي (singleton method) إلى كائن من الصنف <code>Integer</code>، وأي محاولة لفعل ذلك ستؤدي إلى إطلاق الخطأ <code>[[Ruby/TypeError|TypeError]]</code>.
 
==الثوابت (Constants)==
== الثوابت (Constants) ==
===[[Ruby/Integer/GMP VERSION|<code>GMP_VERSION</code>]]===
 
يمثِّل النسخة GMP المُحمّلة.
=== [[Ruby/Integer/GMP VERSION|الثابتة <code>GMP_VERSION</code>]] ===
الثابتة <code>GMP_VERSION</code> هي النسخة المخصصة لـ GMP المُحمّل.<noinclude>{{DISPLAYTITLE: صفحة الصنف <code>Integer</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby Integer]]
==توابع الصنف العامة (Public Class Methods)==
==توابع الصنف العامة (Public Class Methods)==
===[[Ruby/Integer/sqrt|<code>sqrt</code>]]===
يعيد التابع <code>sqrt‎</code> الجذر التربيعي الصحيح للعدد الصحيح الموجب المُمرر إليه.


=== [[Ruby/Integer/sqrt|التابع sqrt]]===
== توابع الكائن العامة (Public Instance Methods) ==
يعيد التابع <code>sqrt‎</code> الجذر المربع الصحيح للعدد الصحيح الموجب المُعطى، أي العدد الصحيح الأكبر الذي قيمته أصغر من الجذر المربع للعدد المُعطى.
 
=== [[Ruby/Integer/modul|التابع %]]===
يعيد المعامل <code>%‎</code> باقي عملية القسمة الصحيحة.
 
=== [[Ruby/Integer/and|التابع &]]===
ينفذ المعامل <code>&</code> عملية "و" (AND) بين بتات طرفي العملية، بتةً بتةً.
 
=== [[Ruby/Integer/multiplication|التابع *]]===
يعيد التابع <code>*‎</code> ناتج عملية الضرب بين عددين، صنف الكائن الناتج يتعلق بصنف الطرف الثاني للعملية.
 
=== [[Ruby/Integer/expo|التابع **]]===
يعيد التابع <code>**‎</code> ناتج عملية الأس للعدد <code>int</code> مرفوعًا إلى العدد<code>numeric.</code>
 
=== [[Ruby/Integer/plus|التابع +]]===
يعيد التابع <code>+</code> ناتج عملية الجمع بين عددين، صنف الكائن الناتج يتعلق بصنف الطرف الثاني للعملية. 
 
=== [[Ruby/Integer/minus|التابع -]]===
يعيد التابع <code>-‎</code> ناتج عملية الطرح بين عددين، صنف الكائن الناتج يتعلق بصنف الطرف الثاني للعملية. 
 
=== [[Ruby/Integer/negation|التابع -@]]===
تعيد العملية <code>‎-int‎‎</code> مقابل العدد <code>int‎‎</code>.
 
=== [[Ruby/Integer/division|التابع /]]===
يعيد التابع <code>/‎</code> ناتج عملية القسمة بين عددين، صنف الكائن الناتج يتعلق بصنف الطرف الثاني للعملية. 
 
=== [[Ruby/Integer/lt|التابع <]]===
يعيد التابع <code>></code> القيمة <code>true</code> إن كانت قيمة <code>int</code> أصغر من قيمة <code>real</code> (انظر فقرة البنية العامة).
 
===[[Ruby/Integer/3C-3C | التابع ‎<<‎‎]]===
يعيد التابع <code>>></code> قيمة <code>int</code> مُزاحة إلى اليسار بـ <code>count</code>  موضع، أو إلى اليمين إن كان <code>count</code> سالبًا (انظر فقرة البنية العامة).
 
===[[Ruby/Integer/3C-3D | التابع ‎<=‎]]===
يعيد التابع <code>=></code> القيمة <code>true</code> إن كانت قيمة <code>int</code> أصغر من أو تساوي قيمة <code>real</code> (انظر فقرة البنية العامة).


=== [[Ruby/Integer/Comparison|التابع <=>]]===
===[[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>‎-1</code> أو <code>0</code> أو ‎<code>+1</code>) إذا كان العدد <code>int</code> أصغر من أو يساوي أو أكبر من العدد الآخر على التوالي.
يعيد معامل الموازنة <code><=></code> عددً‎ا صحيحًا (<code>‎-1</code> أو <code>0</code> أو ‎<code>+1</code>) إذا كان العدد <code>int</code> أصغر من أو يساوي أو أكبر من العدد الآخر على التوالي.
 
===[[Ruby/Integer/equal|التابع ==]]===
=== [[Ruby/Integer/equal|التابع ==]]===
يعيد المعامل <code>==</code> القيمة <code>true</code> إن كان <code>int</code> يساوي الكائن <code>other</code> عدديًا.
يعيد المعامل <code>==</code> القيمة <code>true</code> إن كان <code>int</code> يساوي الكائن <code>other</code> عدديًا.
 
===[[Ruby/Integer/greater|التابع >]]===
=== [[Ruby/Integer/greater|التابع >]]===
يعيد التابع <code><</code> القيمة <code>true</code> إن كانت قيمة <code>int</code> أكبر من قيمة <code>real</code> (انظر فقرة البنية العامة).
يعيد التابع <code><</code> القيمة <code>true</code> إن كانت قيمة <code>int</code> أكبر من قيمة <code>real</code> (انظر فقرة البنية العامة).
 
===[[Ruby/Integer/3E-3D| التابع ‎>=‎‎‎]]===
===[[Ruby/Integer/3E-3D | التابع ‎>=‎‎‎]]===
يعيد التابع <code>=<</code> القيمة <code>true</code> إن كانت قيمة <code>int</code> أكبر من أو تساوي قيمة <code>real</code>.
يعيد التابع <code>=<</code> القيمة <code>true</code> إن كانت قيمة <code>int</code> أكبر من أو تساوي قيمة <code>real</code>.
 
===[[Ruby/Integer/3E-3E| التابع ‎>>‎]]===
===[[Ruby/Integer/3E-3E | التابع ‎>>‎]]===
يعيد التابع <code><<</code> قيمة <code>int</code> مُزاحة إلى اليمين بـ <code>count</code>  موضع، أو إلى اليسار إن كان <code>count</code> سالبًا (انظر فقرة البنية العامة).
يعيد التابع <code><<</code> قيمة <code>int</code> مُزاحة إلى اليمين بـ <code>count</code>  موضع، أو إلى اليسار إن كان <code>count</code> سالبًا (انظر فقرة البنية العامة).
 
===[[Ruby/Integer/index|التابع []]]===
=== [[Ruby/Integer/index|التابع []]]===
يعيد معامل الفهرسة <code>[]</code> البتة الموجودة عند الموضع <code>n</code> في التمثيل الثنائي للعدد <code>int</code>  (انظر فقرة البنية العامة)، بحيث <code>[0]int</code> هو البتة الأقل أهمية (least significant bit).
يعيد معامل الفهرسة <code>[]</code> البتة الموجودة عند الموضع <code>n</code> في التمثيل الثنائي للعدد <code>int</code>  (انظر فقرة البنية العامة)، بحيث <code>[0]int</code> هو البتة الأقل أهمية (least significant bit).
 
===[[Ruby/Integer/or|التابع ^]]===
=== [[Ruby/Integer/or|التابع ^]]===
ينفذ المعامل <code>^</code> عملية "أو" الحصرية (EXCLUSIVE OR) بين بتات طرفي العملية، بتةً بتةً.
ينفذ المعامل <code>^</code> عملية "أو" الحصرية (EXCLUSIVE OR) بين بتات طرفي العملية، بتةً بتةً.
 
===[[Ruby/Integer/abs| التابع abs]]===
===[[Ruby/Integer/abs | التابع abs]]===
يعيد التابع <code>abs</code> القيمة المطلقة للعدد الذي استُدعي معه.
يعيد التابع <code>abs</code> القيمة المطلقة للعدد الذي استُدعي معه.
 
===[[Ruby/Integer/allbits-3F| التابع allbits?‎]]===
===[[Ruby/Integer/allbits-3F | التابع allbits?‎]]===
يعيد التابع <code>allbits?‎</code> القيمة <code>true</code> إن كانت قيم كل بتات ناتج العملية <code>int & mask</code> تساوي واحد.
يعيد التابع <code>allbits?‎</code> القيمة <code>true</code> إن كانت قيم كل بتات ناتج العملية <code>int & mask</code> تساوي واحد.
 
===[[Ruby/Integer/anybits-3F| التابع anybits?‎]]===
===[[Ruby/Integer/anybits-3F | التابع anybits?‎]]===
يعيد التابع <code>anybits?‎</code> القيمة <code>true</code> إن كانت قيمة إحدى بتات ناتج العملية <code>int & mask</code> تساوي واحد. 
يعيد التابع <code>anybits?‎</code> القيمة <code>true</code> إن كانت قيمة إحدى بتات ناتج العملية <code>int & mask</code> تساوي واحد. 
 
===[[Ruby/Integer/bit length| التابع bit_length]]===
===[[Ruby/Integer/bit_length | التابع bit_length]]===
يعيد التابع <code>bit_length‎</code> عدد بتات قيمة العدد الذي استُدعي معه.
يعيد التابع <code>bit_length‎</code> عدد بتات قيمة العدد الذي استُدعي معه.
 
===[[Ruby/Integer/ceil| التابع ceil]]===
===[[Ruby/Integer/ceil | التابع ceil]]===
يعيد التابع <code>ceil‎</code> أصغر عدد من الأعداد الأكبر من أو تساوي قيمة العدد الذي استُدعي معه وبدقة (precision) تساوي <code>ndigits</code> رقم عشري (القيمة الابتدائية هي <code>0</code>) .
يعيد التابع <code>ceil‎</code> أصغر عدد من الأعداد الأكبر من أو تساوي قيمة العدد الذي استُدعي معه وبدقة (precision) تساوي <code>ndigits</code> رقم عشري (القيمة الابتدائية هي <code>0</code>) .
 
===[[Ruby/Integer/chr| التابع chr]]===
===[[Ruby/Integer/chr | التابع chr]]===
يعيد التابع <code>chr‎</code> سلسلة نصية تحتوي على الحرف الذي تمثله قيمة العدد الذي استُدعي معه حسب الترميز المُمرّر <code>encoding</code>.
يعيد التابع <code>chr‎</code> سلسلة نصية تحتوي على الحرف الذي تمثله قيمة العدد الذي استُدعي معه حسب الترميز المُمرّر <code>encoding</code>.
 
===[[Ruby/Integer/coerce| التابع coerce]]===
===[[Ruby/Integer/coerce | التابع coerce]]===
يعيد التابع <code>coerce‎</code> مصفوفة تضم قيمتين <code>numeric</code> و <code>big</code> ممثلًا على شكل كائن من الصنف <code>Bignum</code>، وذلك عبر تحويل  <code>numeric</code> إلى <code>Bignum</code>.
يعيد التابع <code>coerce‎</code> مصفوفة تضم قيمتين <code>numeric</code> و <code>big</code> ممثلًا على شكل كائن من الصنف <code>Bignum</code>، وذلك عبر تحويل  <code>numeric</code> إلى <code>Bignum</code>.
 
===[[Ruby/Integer/denominator| التابع denominator]]===
===[[Ruby/Integer/denominator | التابع denominator]]===
يعيد التابع <code>denominator‎</code> القيمة <code>1</code>.
يعيد التابع <code>denominator‎</code> القيمة <code>1</code>.
 
===[[Ruby/Integer/digits| التابع digits]]===
===[[Ruby/Integer/digits | التابع digits]]===
يقوم التابع <code>digits‎</code> بتفكيك العدد الذي استٌدعي معه، حيث يقوم بتقسيم الأرقام التي تكوّنه من اليسار إلى اليمين،، بحيث تكون أصغر من الوسيط الممرر<code>base</code>، ذو القيمة الافتراضية <code>10</code>، ثم يضعها في مصفوفة، مع وضع الرقم الأقل دلالة ( least significant digit) في بداية المصفوفة،
يقوم التابع <code>digits‎</code> بتفكيك العدد الذي استٌدعي معه، حيث يقوم بتقسيم الأرقام التي تكوّنه من اليسار إلى اليمين،، بحيث تكون أصغر من الوسيط الممرر<code>base</code>، ذو القيمة الافتراضية <code>10</code>، ثم يضعها في مصفوفة، مع وضع الرقم الأقل دلالة ( least significant digit) في بداية المصفوفة،
 
===[[Ruby/Integer/div| التابع div]]===
===[[Ruby/Integer/div | التابع div]]===
يعيد التابع <code>div‎</code> ناتج عملية قسمة العدد <code>int</code> على العدد <code>numeric</code> (انظر فقرة البنية العامة).
يعيد التابع <code>div‎</code> ناتج عملية قسمة العدد <code>int</code> على العدد <code>numeric</code> (انظر فقرة البنية العامة).
 
===[[Ruby/Integer/divmod| التابع divmod]]===
===[[Ruby/Integer/divmod | التابع divmod]]===
يعيد التابع <code>divmod‎</code> مصفوفة تحتوي على حاصل (quotient) وباقي (modulus) عملية تقسيم العدد الذي استٌدعي التابع معه على العدد المُمرّر<code>numeric</code>.
يعيد التابع <code>divmod‎</code> مصفوفة تحتوي على حاصل (quotient) وباقي (modulus) عملية تقسيم العدد الذي استٌدعي التابع معه على العدد المُمرّر<code>numeric</code>.
 
===[[Ruby/Integer/downto| التابع downto]]===
===[[Ruby/Integer/downto | التابع downto]]===
يقوم التابع <code>downto‎</code> بتكرار تنفيذ الكتلة البرمجية المعطاة مع تمرير الأعداد تنازليًا بداية من العدد الذي استُدعيت معه وحتى العدد المعطى <code>limit</code>.
يقوم التابع <code>downto‎</code> بتكرار تنفيذ الكتلة البرمجية المعطاة مع تمرير الأعداد تنازليًا بداية من العدد الذي استُدعيت معه وحتى العدد المعطى <code>limit</code>.
 
===[[Ruby/Integer/even-3F| التابع even?‎]]===
===[[Ruby/Integer/even-3F | التابع even?‎]]===
يعيد التابع <code>even?‎</code> القيمة <code>true</code> إن كان العدد الذي استٌدعي معه زوجيًا.
يعيد التابع <code>even?‎</code> القيمة <code>true</code> إن كان العدد الذي استٌدعي معه زوجيًا.
 
===[[Ruby/Integer/fdiv| التابع fdiv]]===
===[[Ruby/Integer/fdiv | التابع fdiv]]===
يعيد التابع <code>fdiv‎</code> الناتج الكسري (floating point result) لعملية قسمة العدد الذي استُدعي معه على العدد المُمرّر <code>numeric</code>.
يعيد التابع <code>fdiv‎</code> الناتج الكسري (floating point result) لعملية قسمة العدد الذي استُدعي معه على العدد المُمرّر <code>numeric</code>.
 
===[[Ruby/Integer/floor| التابع floor]]===
===[[Ruby/Integer/floor | التابع floor]]===
يعيد التابع <code>floor‎</code> أكبر عدد من الأعداد الأصغر من أو تساوي العدد الذي استُدعي معه وبدقة (precision) تساوي <code>ndigits</code> رقم عشري (القيمة الابتدائية هي <code>0</code>) . 
يعيد التابع <code>floor‎</code> أكبر عدد من الأعداد الأصغر من أو تساوي العدد الذي استُدعي معه وبدقة (precision) تساوي <code>ndigits</code> رقم عشري (القيمة الابتدائية هي <code>0</code>) . 
 
===[[Ruby/Integer/gcd| التابع gcd]]===
===[[Ruby/Integer/gcd | التابع gcd]]===
يعيد التابع <code>gcd‎</code> أكبر قاسم مشترك للعدد الذي استُدعي معه والعدد المٌعطى. النتيجة دائمًا موجبة، كما يعيد التعبيران <code>0.gcd(x)‎</code> و <code>x.gcd(0)‎</code>. القيمة<code>x.abs</code>.
يعيد التابع <code>gcd‎</code> أكبر قاسم مشترك للعدد الذي استُدعي معه والعدد المٌعطى. النتيجة دائمًا موجبة، كما يعيد التعبيران <code>0.gcd(x)‎</code> و <code>x.gcd(0)‎</code>. القيمة<code>x.abs</code>.
 
===[[Ruby/Integer/gcdlcm| التابع gcdlcm]]===
===[[Ruby/Integer/gcdlcm | التابع gcdlcm]]===
يعيد التابع <code>gcdlcm‎</code> مصفوفة تضم أكبر قاسم مشترك وأصغر مضاعف مشترك للعدد الذي استُدعي معه والعدد المٌعطى، أي <code>[gcd, lcm]</code>.
يعيد التابع <code>gcdlcm‎</code> مصفوفة تضم أكبر قاسم مشترك وأصغر مضاعف مشترك للعدد الذي استُدعي معه والعدد المٌعطى، أي <code>[gcd, lcm]</code>.
 
===[[Ruby/Integer/inspect| التابع inspect]]===
===[[Ruby/Integer/inspect | التابع inspect]]===
<code>inspect‎</code> هو اسم آخر للتابع <code>[[Ruby/Integer/to s|to_s]]</code>.
<code>inspect‎</code> هو اسم آخر للتابع <code>[[Ruby/Integer/to s|to_s]]</code>.
 
===[[Ruby/Integer/integer-3F| التابع integer?‎]]===
===[[Ruby/Integer/integer-3F | التابع integer?‎]]===
يعيد التابع <code>integer?‎</code> القيمة <code>true</code> دائمًا.
يعيد التابع <code>integer?‎</code> القيمة <code>true</code> دائمًا.
 
===[[Ruby/Integer/lcm| التابع lcm]]===
===[[Ruby/Integer/lcm | التابع lcm]]===
يعيد التابع <code>lcm‎</code> أصغر مضاعف مشترك للعدد الذي استُدعي معه والعدد المٌعطى. النتيجة دائمًا موجبة، كما يعيد التعبيران <code>0.lcm(x)‎</code> و <code>x.lcm(0)‎</code>. القيمة <code>0</code>. 
يعيد التابع <code>lcm‎</code> أصغر مضاعف مشترك للعدد الذي استُدعي معه والعدد المٌعطى. النتيجة دائمًا موجبة، كما يعيد التعبيران <code>0.lcm(x)‎</code> و <code>x.lcm(0)‎</code>. القيمة <code>0</code>. 
 
===[[Ruby/Integer/magnitude| التابع magnitude]]===
===[[Ruby/Integer/magnitude | التابع magnitude]]===
يعيد التابع <code>magnitude</code> القيمة المطلقة للعدد الذي استُدعي معه.
يعيد التابع <code>magnitude</code> القيمة المطلقة للعدد الذي استُدعي معه.
 
===[[Ruby/Integer/modulo| التابع modulo]]===
===[[Ruby/Integer/modulo | التابع modulo]]===
يعيد المعامل <code>modulo‎</code> باقي عملية قسمة العدد الذي استُدعي معه على العدد المُعطى.
يعيد المعامل <code>modulo‎</code> باقي عملية قسمة العدد الذي استُدعي معه على العدد المُعطى.
 
===[[Ruby/Integer/next| التابع next]]===
===[[Ruby/Integer/next | التابع next]]===
يعيد التابع <code>next‎</code> العدد الموالي للعدد الذي استُدعي معه. أي <code>int+1</code>.
يعيد التابع <code>next‎</code> العدد الموالي للعدد الذي استُدعي معه. أي <code>int+1</code>.
 
===[[Ruby/Integer/nobits-3F| التابع<code>nobits?‎</code>]]===
===[[Ruby/Integer/nobits-3F | التابع<code>nobits?‎</code>]]===
يعيد التابع <code>nobits?‎</code> القيمة <code>true</code> إن كانت قيم كل البتات الناتجة عن العملية <code>int & mask</code> تخالف واحد.
يعيد التابع <code>nobits?‎</code> القيمة <code>true</code> إن كانت قيم كل البتات الناتجة عن العملية <code>int & mask</code> تخالف واحد.
 
===[[Ruby/Integer/numerator| التابع numerator]]===
===[[Ruby/Integer/numerator | التابع numerator]]===
يعيد التابع <code>numerator‎</code> العدد الذي استُدعي معه.
يعيد التابع <code>numerator‎</code> العدد الذي استُدعي معه.
 
===[[Ruby/Integer/odd-3F| التابع<code>odd?‎</code>]]===
===[[Ruby/Integer/odd-3F | التابع<code>odd?‎</code>]]===
يعيد التابع <code>odd?‎</code> القيمة <code>true</code> إن كان العدد الذي استٌدعي معه فرديًا. 
يعيد التابع <code>odd?‎</code> القيمة <code>true</code> إن كان العدد الذي استٌدعي معه فرديًا. 
 
===[[Ruby/Integer/ord| التابع ord]]===
===[[Ruby/Integer/ord | التابع ord]]===
يعيد التابع <code>ord‎</code> العدد الذي استٌدعي معه.
يعيد التابع <code>ord‎</code> العدد الذي استٌدعي معه.
 
===[[Ruby/Integer/pow| التابع pow]]===
===[[Ruby/Integer/pow | التابع pow]]===
يعيد التابع <code>pow‎</code> الأس التوافقي (modular exponentiation ) للعدد الذي استُدعي معه والعددين المٌمرّرين (الثاني اختياري).
يعيد التابع <code>pow‎</code> الأس التوافقي (modular exponentiation ) للعدد الذي استُدعي معه والعددين المٌمرّرين (الثاني اختياري).  
===[[Ruby/Integer/pred| التابع pred]]===
 
===[[Ruby/Integer/pred | التابع pred]]===
يعيد التابع <code>pred‎</code> العدد السابق على العدد الذي استُدعي معه. أي <code>int-1</code>.
يعيد التابع <code>pred‎</code> العدد السابق على العدد الذي استُدعي معه. أي <code>int-1</code>.
 
===[[Ruby/Integer/rationalize| التابع rationalize]]===
===[[Ruby/Integer/rationalize | التابع rationalize]]===
يعيد التابع <code>rationalize‎</code> قيمة العدد الذي استُدعي معه على شكل عدد جذري (rational). الوسيط المُمرّر <code>eps</code> يُتجاهل دائمًا.
يعيد التابع <code>rationalize‎</code> قيمة العدد الذي استُدعي معه على شكل عدد جذري (rational). الوسيط المُمرّر <code>eps</code> يُتجاهل دائمًا.
 
===[[Ruby/Integer/remainder| التابع remainder]]===
===[[Ruby/Integer/remainder | التابع remainder]]===
يعيد التابع <code>remainder‎</code> باقي عملية قسمة العدد <code>int</code> على العدد <code>numeric</code> (انظر فقرة البنية العامة).
يعيد التابع <code>remainder‎</code> باقي عملية قسمة العدد <code>int</code> على العدد <code>numeric</code> (انظر فقرة البنية العامة).
 
===[[Ruby/Integer/round| التابع round]]===
===[[Ruby/Integer/round | التابع round]]===
يعيد التابع <code>round‎</code> العدد الذي استُدعي معه مُقرّبًا (rounded) إلى أقرب قيمة، مع دقة (precision) تساوي <code>ndigits</code> رقم عشري (القيمة الابتدائية هي<code>0</code>) .
يعيد التابع <code>round‎</code> العدد الذي استُدعي معه مُقرّبًا (rounded) إلى أقرب قيمة، مع دقة (precision) تساوي <code>ndigits</code> رقم عشري (القيمة الابتدائية هي<code>0</code>) .
 
===[[Ruby/Integer/size| التابع size]]===
===[[Ruby/Integer/size | التابع size]]===
يعيد التابع <code>size‎</code> عدد البتات في تمثيل الآلة (machine representation) للعدد الذي استُدعي معه، النتيجة تتعلق بالآلة المستخدمة.
يعيد التابع <code>size‎</code> عدد البتات في تمثيل الآلة (machine representation) للعدد الذي استُدعي معه، النتيجة تتعلق بالآلة المستخدمة.
 
===[[Ruby/Integer/succ| التابع succ]]===
===[[Ruby/Integer/succ | التابع succ]]===
يعيد التابع <code>succ‎</code> العدد الموالي للعدد الذي استُدعي معه. أي <code>int+1</code>.
يعيد التابع <code>succ‎</code> العدد الموالي للعدد الذي استُدعي معه. أي <code>int+1</code>.
 
===[[Ruby/Integer/times| التابع times]]===
===[[Ruby/Integer/times | التابع times]]===
يقوم التابع <code>times‎</code> بتكرار تنفيذ الكتلة البرمجية المعطاة عددًا من المرات يساوي قيمة العدد الذي استُدعي معه، مع تمرير قيم عددية ابتداء من الصفر وحتى العدد <code>int - 1</code>.
يقوم التابع <code>times‎</code> بتكرار تنفيذ الكتلة البرمجية المعطاة عددًا من المرات يساوي قيمة العدد الذي استُدعي معه، مع تمرير قيم عددية ابتداء من الصفر وحتى العدد <code>int - 1</code>.
 
===[[Ruby/Integer/to f| التابع to_f]]===
===[[Ruby/Integer/to_f | التابع to_f]]===
يحول التابع <code>to_f‎</code> العدد الذي استُدعي معه من الصنف <code>Integer</code> إلى الصنف <code>float</code>، في حال لم يكن التحويل ممكنًا، فستُعاد اللانهاية.
يحول التابع <code>to_f‎</code> العدد الذي استُدعي معه من الصنف <code>Integer</code> إلى الصنف <code>float</code>، في حال لم يكن التحويل ممكنًا، فستُعاد اللانهاية.
 
===[[Ruby/Integer/to i| التابع to_i]]===
===[[Ruby/Integer/to_i | التابع to_i]]===
يعيد التابع <code>to_i‎</code> العدد الذي استُدعي معه دون تغيير يكافئ ([[Ruby/Integer/to int|<code>to_int</code>]]).
يعيد التابع <code>to_i‎</code> العدد الذي استُدعي معه دون تغيير يكافئ ([[Ruby/Integer/to int|<code>to_int</code>]]).
 
===[[Ruby/Integer/to int| التابع to_int]]===
===[[Ruby/Integer/to_int | التابع to_int]]===
يعيد التابع <code>to_int</code> العدد الذي استُدعي معه دون تغيير يكافئ (<code>[[Ruby/Integer/to i|to_i]]</code>).
يعيد التابع <code>to_int</code> العدد الذي استُدعي معه دون تغيير يكافئ (<code>[[Ruby/Integer/to i|to_i]]</code>).
 
===[[Ruby/Integer/to r| التابع to_r]]===
===[[Ruby/Integer/to_r | التابع to_r]]===
يحول التابع <code>to_r</code> العدد الذي استُدعي معه إلى عدد جذري (rational).
يحول التابع <code>to_r</code> العدد الذي استُدعي معه إلى عدد جذري (rational).
 
===[[Ruby/Integer/to s| التابع to_s]]===
===[[Ruby/Integer/to_s | التابع to_s]]===
يعيد التابع <code>to_s‎</code> سلسلة نصية تحتوي على التمثيل الموضعي (place-value representation) للعدد الذي استُدعي معه، وفق الأساس (radix) المعطى<code>base</code> (محصور بين <code>2</code> و <code>36</code>)
يعيد التابع <code>to_s‎</code> سلسلة نصية تحتوي على التمثيل الموضعي (place-value representation) للعدد الذي استُدعي معه، وفق الأساس (radix) المعطى<code>base</code> (محصور بين <code>2</code> و <code>36</code>)
 
===[[Ruby/Integer/truncate| التابع truncate]]===
===[[Ruby/Integer/truncate | التابع truncate]]===
يعيد التابع <code>truncate‎</code> العدد الذي استُدعي معه مُقتطعًا (truncated) إلى دقة (precision) تساوي <code>ndigits</code> رقم عشري (القيمة الابتدائية هي <code>0</code>) .
يعيد التابع <code>truncate‎</code> العدد الذي استُدعي معه مُقتطعًا (truncated) إلى دقة (precision) تساوي <code>ndigits</code> رقم عشري (القيمة الابتدائية هي <code>0</code>) .
 
===[[Ruby/Integer/upto| التابع upto]]===
===[[Ruby/Integer/upto | التابع upto]]===
يقوم التابع <code>upto‎</code> بتكرار تنفيذ الكتلة البرمجية المعطاة مع تمرير الأعداد تصاعديًا بداية من العدد الذي استُدعيت معه وحتى العدد المعطى <code>limit</code>.
يقوم التابع <code>upto‎</code> بتكرار تنفيذ الكتلة البرمجية المعطاة مع تمرير الأعداد تصاعديًا بداية من العدد الذي استُدعيت معه وحتى العدد المعطى <code>limit</code>.
 
===[[Ruby/Integer/7C| التابع |]]===
===[[Ruby/Integer/7C | التابع |]]===
ينفذ المعامل <code>|</code> عملية "أو" (OR) بين بتات طرفي العملية، بتةً بتةً.
ينفذ المعامل <code>|</code> عملية "أو" (OR) بين بتات طرفي العملية، بتةً بتةً.
 
===[[Ruby/Integer/~| التابع ~]]===
===[[Ruby/Integer/~ | التابع ~]]===
يعيد المعامل <code>~</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:44، 13 نوفمبر 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) إذا كان العدد int أصغر من أو يساوي أو أكبر من العدد الآخر على التوالي.

التابع ==

يعيد المعامل == القيمة true إن كان int يساوي الكائن other عدديًا.

التابع >

يعيد التابع < القيمة true إن كانت قيمة int أكبر من قيمة real (انظر فقرة البنية العامة).

التابع ‎>=‎‎‎

يعيد التابع =< القيمة true إن كانت قيمة int أكبر من أو تساوي قيمة real.

التابع ‎>>‎

يعيد التابع << قيمة int مُزاحة إلى اليمين بـ count  موضع، أو إلى اليسار إن كان count سالبًا (انظر فقرة البنية العامة).

التابع []

يعيد معامل الفهرسة [] البتة الموجودة عند الموضع n في التمثيل الثنائي للعدد int  (انظر فقرة البنية العامة)، بحيث [0]int هو البتة الأقل أهمية (least significant bit).

التابع ^

ينفذ المعامل ^ عملية "أو" الحصرية (EXCLUSIVE OR) بين بتات طرفي العملية، بتةً بتةً.

التابع abs

يعيد التابع abs القيمة المطلقة للعدد الذي استُدعي معه.

التابع allbits?‎

يعيد التابع allbits?‎ القيمة true إن كانت قيم كل بتات ناتج العملية int & mask تساوي واحد.

التابع anybits?‎

يعيد التابع anybits?‎ القيمة true إن كانت قيمة إحدى بتات ناتج العملية int & mask تساوي واحد. 

التابع bit_length

يعيد التابع bit_length‎ عدد بتات قيمة العدد الذي استُدعي معه.

التابع ceil

يعيد التابع ceil‎ أصغر عدد من الأعداد الأكبر من أو تساوي قيمة العدد الذي استُدعي معه وبدقة (precision) تساوي ndigits رقم عشري (القيمة الابتدائية هي 0) .

التابع chr

يعيد التابع chr‎ سلسلة نصية تحتوي على الحرف الذي تمثله قيمة العدد الذي استُدعي معه حسب الترميز المُمرّر encoding.

التابع coerce

يعيد التابع coerce‎ مصفوفة تضم قيمتين numeric و big ممثلًا على شكل كائن من الصنف Bignum، وذلك عبر تحويل  numeric إلى Bignum.

التابع denominator

يعيد التابع denominator‎ القيمة 1.

التابع digits

يقوم التابع digits‎ بتفكيك العدد الذي استٌدعي معه، حيث يقوم بتقسيم الأرقام التي تكوّنه من اليسار إلى اليمين،، بحيث تكون أصغر من الوسيط الممررbase، ذو القيمة الافتراضية 10، ثم يضعها في مصفوفة، مع وضع الرقم الأقل دلالة ( least significant digit) في بداية المصفوفة،

التابع div

يعيد التابع div‎ ناتج عملية قسمة العدد int على العدد numeric (انظر فقرة البنية العامة).

التابع divmod

يعيد التابع divmod‎ مصفوفة تحتوي على حاصل (quotient) وباقي (modulus) عملية تقسيم العدد الذي استٌدعي التابع معه على العدد المُمرّرnumeric.

التابع downto

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

التابع even?‎

يعيد التابع even?‎ القيمة true إن كان العدد الذي استٌدعي معه زوجيًا.

التابع fdiv

يعيد التابع fdiv‎ الناتج الكسري (floating point result) لعملية قسمة العدد الذي استُدعي معه على العدد المُمرّر numeric.

التابع floor

يعيد التابع floor‎ أكبر عدد من الأعداد الأصغر من أو تساوي العدد الذي استُدعي معه وبدقة (precision) تساوي ndigits رقم عشري (القيمة الابتدائية هي 0) . 

التابع gcd

يعيد التابع gcd‎ أكبر قاسم مشترك للعدد الذي استُدعي معه والعدد المٌعطى. النتيجة دائمًا موجبة، كما يعيد التعبيران 0.gcd(x)‎ و x.gcd(0)‎. القيمةx.abs.

التابع gcdlcm

يعيد التابع gcdlcm‎ مصفوفة تضم أكبر قاسم مشترك وأصغر مضاعف مشترك للعدد الذي استُدعي معه والعدد المٌعطى، أي [gcd, lcm].

التابع inspect

inspect‎ هو اسم آخر للتابع to_s.

التابع integer?‎

يعيد التابع integer?‎ القيمة true دائمًا.

التابع lcm

يعيد التابع lcm‎ أصغر مضاعف مشترك للعدد الذي استُدعي معه والعدد المٌعطى. النتيجة دائمًا موجبة، كما يعيد التعبيران 0.lcm(x)‎ و x.lcm(0)‎. القيمة 0

التابع magnitude

يعيد التابع magnitude القيمة المطلقة للعدد الذي استُدعي معه.

التابع modulo

يعيد المعامل modulo‎ باقي عملية قسمة العدد الذي استُدعي معه على العدد المُعطى.

التابع next

يعيد التابع next‎ العدد الموالي للعدد الذي استُدعي معه. أي int+1.

التابعnobits?‎

يعيد التابع nobits?‎ القيمة true إن كانت قيم كل البتات الناتجة عن العملية int & mask تخالف واحد.

التابع numerator

يعيد التابع numerator‎ العدد الذي استُدعي معه.

التابعodd?‎

يعيد التابع odd?‎ القيمة true إن كان العدد الذي استٌدعي معه فرديًا. 

التابع ord

يعيد التابع ord‎ العدد الذي استٌدعي معه.

التابع pow

يعيد التابع pow‎ الأس التوافقي (modular exponentiation ) للعدد الذي استُدعي معه والعددين المٌمرّرين (الثاني اختياري).

التابع pred

يعيد التابع pred‎ العدد السابق على العدد الذي استُدعي معه. أي int-1.

التابع rationalize

يعيد التابع rationalize‎ قيمة العدد الذي استُدعي معه على شكل عدد جذري (rational). الوسيط المُمرّر eps يُتجاهل دائمًا.

التابع remainder

يعيد التابع remainder‎ باقي عملية قسمة العدد int على العدد numeric (انظر فقرة البنية العامة).

التابع round

يعيد التابع round‎ العدد الذي استُدعي معه مُقرّبًا (rounded) إلى أقرب قيمة، مع دقة (precision) تساوي ndigits رقم عشري (القيمة الابتدائية هي0) .

التابع size

يعيد التابع size‎ عدد البتات في تمثيل الآلة (machine representation) للعدد الذي استُدعي معه، النتيجة تتعلق بالآلة المستخدمة.

التابع succ

يعيد التابع succ‎ العدد الموالي للعدد الذي استُدعي معه. أي int+1.

التابع times

يقوم التابع times‎ بتكرار تنفيذ الكتلة البرمجية المعطاة عددًا من المرات يساوي قيمة العدد الذي استُدعي معه، مع تمرير قيم عددية ابتداء من الصفر وحتى العدد int - 1.

التابع to_f

يحول التابع to_f‎ العدد الذي استُدعي معه من الصنف Integer إلى الصنف float، في حال لم يكن التحويل ممكنًا، فستُعاد اللانهاية.

التابع to_i

يعيد التابع to_i‎ العدد الذي استُدعي معه دون تغيير يكافئ (to_int).

التابع to_int

يعيد التابع to_int العدد الذي استُدعي معه دون تغيير يكافئ (to_i).

التابع to_r

يحول التابع to_r العدد الذي استُدعي معه إلى عدد جذري (rational).

التابع to_s

يعيد التابع to_s‎ سلسلة نصية تحتوي على التمثيل الموضعي (place-value representation) للعدد الذي استُدعي معه، وفق الأساس (radix) المعطىbase (محصور بين 2 و 36)

التابع truncate

يعيد التابع truncate‎ العدد الذي استُدعي معه مُقتطعًا (truncated) إلى دقة (precision) تساوي ndigits رقم عشري (القيمة الابتدائية هي 0) .

التابع upto

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

التابع |

ينفذ المعامل | عملية "أو" (OR) بين بتات طرفي العملية، بتةً بتةً.

التابع ~

يعيد المعامل ~ مكمل العدد الذي استُدعي معه، حيث يقلب قيمة كل بت من بتات العدد.

مصادر