المعامل <=> في الصنف Object‎ في روبي

من موسوعة حسوب
< Ruby‏ | Object
مراجعة 07:08، 30 مارس 2019 بواسطة جميل-بيلوني (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يتحقق المعامل <=> من تساوي كائنين بين بعضهما بعضًا (يشبه المعامل ==). يُستخدَم من قبل عدّة توابعٍ لموازنة كائناتٍ مثل Enumerable.sort، و Enumerable.max، ...الخ.

يجب أن يعيد تنفيذ المعامل <=> إحدى القيم التالية: -1، أو 0، أو 1، أو nil. القيمة -1 تعني أنَّ القيمة الأولى الواقعة على يسار المعامل أصغر من القيمة الأخرىالواقعه على يمينه. والقيمة 0 تشير إلى أنَّ القيمتين متساويتان، والقيمة 1 تشير إلى أنَّ القيمة الواقعه على يساره أكبر من القيمة الواقعة على يمينه. أخيرًا، تعني القيمة nil أنَّه لا يمكن مقارنة القيمتين.

عندما تُعرِّف المعامل <=>، يمكنك أن تحتوي فيه الوحدة Comparable لتكسب إمكانية استخدام توابعه وهي: =>، و  >، و ==، و =<، و <، و ?between.

البنية العامة

obj <=> other  0 or nil

المعاملات

obj

الكائن الأول المراد موازنته مع الكائن other.

other

الكائن الآخر المراد موازنته مع الكائن obj.

القيم المعادة

تعاد القيمة 0 إذا كان المعاملان obj و other هما نفس الكائن (أي obj == other)؛ خلاف ذلك، تعاد القيمة العدمية nil.

انظر أيضًا

  • المعامل ~!: يتحقق من عدم تساوي كائنين.
  • المعامل ===: يتحقق من تساوي كائنين بشكل صارم.
  • المعامل ~=: يتحقّق من تطابق نمطي كائنين.

مصادر