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

من موسوعة حسوب
< Ruby‏ | Object
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'{{DISPLAYTITLE:المعامل <code><=></code> في الصنف Object في روبي}} يتحقق المعامل <code><=></code> من تساوي كائنين بين بع...')
 
ط
سطر 31: سطر 31:
 
* [http://ruby-doc.org/core-2.5.1/Object.html#method-i-3C-3D-3E صفحة المعامل <=> في الصنف Object في توثيق روبي الرسمي.]
 
* [http://ruby-doc.org/core-2.5.1/Object.html#method-i-3C-3D-3E صفحة المعامل <=> في الصنف Object في توثيق روبي الرسمي.]
 
[[تصنيف:Ruby]]
 
[[تصنيف:Ruby]]
[[تصنيف:Ruby Method]]
+
[[تصنيف:Ruby Operator]]
 
[[تصنيف:Ruby Object]]
 
[[تصنيف:Ruby Object]]

مراجعة 16:36، 22 نوفمبر 2018

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

انظر أيضًا

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

مصادر