الفرق بين المراجعتين لصفحة: «Ruby/Integer»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
يمثل الصنف <code>Integer</code> الأعداد الصحيحة. لا يمكن إضافة تابع أحادي (singleton method) إلى كائن من | يمثل الصنف <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| | |||
==توابع الصنف العامة (Public Class Methods)== | ==توابع الصنف العامة (Public Class Methods)== | ||
===[[Ruby/Integer/sqrt|<code>sqrt</code>]]=== | |||
يعيد التابع <code>sqrt</code> الجذر التربيعي الصحيح للعدد الصحيح الموجب المُمرر إليه. | |||
== | == توابع الكائن العامة (Public Instance Methods) == | ||
=== [[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/ | |||
يعيد التابع <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/ | |||
يحول التابع <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/ | |||
يعيد التابع <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/ | |||
يعيد التابع <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/ | |||
يحول التابع <code>to_r</code> العدد الذي استُدعي معه إلى عدد جذري (rational). | يحول التابع <code>to_r</code> العدد الذي استُدعي معه إلى عدد جذري (rational). | ||
===[[Ruby/Integer/to s| التابع to_s]]=== | |||
===[[Ruby/Integer/ | |||
يعيد التابع <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) بين بتات طرفي العملية، بتةً بتةً.
التابع ~
يعيد المعامل ~
مكمل العدد الذي استُدعي معه، حيث يقلب قيمة كل بت من بتات العدد.