الفرق بين المراجعتين ل"Ruby/Object/3C-3D-3E"

من موسوعة حسوب
< Ruby‏ | Object
اذهب إلى التنقل اذهب إلى البحث
ط
ط
 
سطر 1: سطر 1:
{{DISPLAYTITLE:المعامل <code><=></code> في الصنف Object في روبي}}
+
{{DISPLAYTITLE:المعامل <code><=></code> في الصنف <code>Object‎</code> في روبي}}
 
يتحقق المعامل <code><=></code> من تساوي كائنين بين بعضهما بعضًا (يشبه المعامل <code>==</code>). يُستخدَم من قبل عدّة توابعٍ لموازنة كائناتٍ مثل <code>Enumerable.sort</code>، و <code>Enumerable.max</code>، ...الخ.
 
يتحقق المعامل <code><=></code> من تساوي كائنين بين بعضهما بعضًا (يشبه المعامل <code>==</code>). يُستخدَم من قبل عدّة توابعٍ لموازنة كائناتٍ مثل <code>Enumerable.sort</code>، و <code>Enumerable.max</code>، ...الخ.
  

المراجعة الحالية بتاريخ 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.

انظر أيضًا

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

مصادر