المعامل <=>
في الصنف Object
في روبي
يتحقق المعامل <=>
من تساوي كائنين بين بعضهما بعضًا (يشبه المعامل ==
). يُستخدَم من قبل عدّة توابعٍ لموازنة كائناتٍ مثل 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
.
انظر أيضًا
- المعامل
~!
: يتحقق من عدم تساوي كائنين.