المعامل <=> الخاص بالصنف Array في روبي

من موسوعة حسوب
< Ruby‏ | Array

يعيد معامل الموازنة <=> عددً‎ا صحيحًا (‎-1 أو 0 أو ‎+1) إذا كانت المصفوفة الأصلية أصغر من أو تساوي أو أكبر من المصفوفة الأخرى المعطاة على التوالي. يوازن كل كائن من كل مصفوفة باستخدام المعامل <=>.

يوازن بين المصفوفات عنصرًا عنصرًا؛ بعبارة أخرى، يوازن العنصر الأول من المصفوفة الأولى مع العنصر الأول من المصفوفة الثانية باستخدام المعامل <=>، ثم يوازن العنصر الثاني فالثالث وهكذا دواليك. متى ما أعطيت نتيجة مغايرة للصفر لأيٍّ من تلك الموازنات التي تجرى على العناصر تباعًا (أي كان العنصرين الموازن بينهما غير متساويين مثلًا)، فستُعاد تلك النتيجة مباشرةً.

إن كانت جميع العناصر متساوية، فستعتمد النتيجة على موازنة طُولَي المصفوفتين. بناءً على ذلك، تكون مصفوفتان «متساويتان» وفقًا للمعامل <=> إذا، وفقط إذا، كان لهما نفس الطول وتساوى كل عنصر من إحداهما مع العنصر الذي يقابله من الأخرى.

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

 ary <=> other_ary  -1, 0, +1 or nil

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

تعاد إحدى القيم التالي: ‎-1 أو 0 أو ‎+1 عند الموازنة بين المصفوفة ary والمصفوفة other_ary، أو تُعاد القيمة nil إن لم تكن المصفوفة other_ary الثانية المعطاة مصفوفةً، أو إذا أعيدت القيمة nil عند الموازنة بين عنصرين من المصفوفتين.

أمثلة

أمثلة عن استخدام المعامل <=>:

 [ "a", "a", "c" ]    <=> [ "a", "b", "c" ]   #=> -1
[ 1, 2, 3, 4, 5, 6 ] <=> [ 1, 2 ]            #=> +1
[ 1, 2 ]             <=> [ 1, :two ]         #=> nil

انظر أيضًا

  • المعامل |: يجمع عناصر مصفوفتين في مصفوفة واحدة جديدة مع استثناء العناصر المكررة والحفاظ على ترتيب العناصر وفقًا للمصفوفة الأولى المعطاة.
  • المعامل >>: يضيف كائنًا مُحدَّدًا إلى نهاية المصفوفة الأصلية ثم يعيد المصفوفة نفسها، لذا يمكن تكرار هذا المعامل عدة مرات وبشكل متسلسل.
  • المعامل -: يعيد مصفوفة جديدة تمثل نسخة من جميع عناصر المصفوفة الأصلية باستثناء العناصر المشتركة مع المصفوفة other_ary الأخرى.
  • المعامل &: يعيد مصفوفةً جديدةً تحتوي على العناصر المشتركة بين مصفوفتين دون تكرارها.
  • المعامل *: إن استعمل المعامل * مع مصفوفة ary وسلسلة نصية str، فسيُكافئ حينئذٍ العبارة ary.join(str). أمَّا إن استعمل مع مصفوفة ary وعدد int، فسيُعيد مصفوفة جديدة تتكرر فيها المصفوفة تلك عددًا من المرات مساويًا لذلك العدد المعطى.

مصادر