المخلوط Comparable في روبي
يُستخدم المخلوط (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?
يتحقق مما إذا كان الكائن الذي استُدعي معه محصورًا بين الكائنين المٌمرّرين إليه.