المخلوط Comparable في روبي

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

يُستخدم المخلوط (mixin) ‏Comparable من قبل الأصناف التي يمكن ترتيب كائناتها. يجب أن يحدِّد الصنفُ المعاملَ <=>، الذي يوازن الكائن المستقبِل (receiver) مع كائن آخر، ويعيد ‎-1، أو 0، أو ‎+1 إن كان المُستقبِل أصغر من الكائن الآخر، أو يساويه، أو أكبر منه على التوالي. إذا كان الكائن الآخر غير قابل للموازنة، فعندئذ سيعيد المعامل <=> القيمة المعدومة nil.

يستخدم Comparable المعامل <=> لإجراء عمليات الموازنة التقليدية (أي العمليات >، و ‎<=، و ==، و =<‎، و <) والتابع between?.

توابع الكائن العامة (Public Instance Methods)

المعامل =>

 يوازن بين كائنين بناءً على النتيجة التي يعيدها المعامل <=> الخاص بالمُستقبِل (receiver)، إذ يعيد القيمة true إن أعاد المعامل <=> القيمة ‎-1‎ أو 0، وإلا فسيعيد القيمة false.

المعامل ==

يوازن بين كائنين ثمَّ يعيد القيمة true إن أعاد المعامل <=> القيمة 0 أي كان الكائنان متساويين؛ خلا ذلك، سيعيد القيمة false.

المعامل >

يوازن بين كائنين بناءً على النتيجة التي يعيدها المعامل <=> الخاص بالمُستقبِل (receiver)، إذ يعيد القيمة true إن أعاد المعامل <=> القيمة ‎-1‎، وإلا فسيعيد القيمة false.

المعامل ‎‎‎>=‎

يوازن بين كائنين بناءً على النتيجة التي يعيدها المعامل <=> الخاص بالمُستقبِل (receiver)، إذ يعيد القيمة true إن أعاد المعامل <=> القيمة 1 أو 0، وإلا فسيعيد القيمة false.

المعامل <

يوازن بين كائنين بناءً على النتيجة التي يعيدها المعامل <=> الخاص بالمُستقبِل (receiver)، إذ يعيد القيمة true إن أعاد المعامل <=> القيمة ‎1، وإلا فسيعيد القيمة false.

التابع clamp

يعيد التابع ‎الوسيط المُعطى min (أنظر فقرة البنية العامة) إن كان عائد obj <=> min أقل من 0، أو يعيد max (أنظر فقرة البنية العامة) إن كان عائد obj <=> max أكبر من 0، خلا ذلك سيعيد الكائنَ obj  الذي استدعي معه.

التابع ‎between?‎

يتحقق مما إذا كان الكائن الذي استُدعي معه محصورًا بين الكائنين المٌمرّرين إليه.

مصادر