المعامل <=> الخاص بالصنف Array في روبي
يعيد معامل الموازنة <=>
عددًا صحيحًا (-1
أو 0
أو +1
) إذا كانت المصفوفة الأصلية أصغر من أو تساوي أو أكبر من المصفوفة الأخرى المعطاة على التوالي. يوازن كل كائن من كل مصفوفة باستخدام المعامل <=>
.
يوازن بين المصفوفات عنصرًا عنصرًا؛ بعبارة أخرى، يوازن العنصر الأول من المصفوفة الأولى مع العنصر الأول من المصفوفة الثانية باستخدام المعامل <=>
، ثم يوازن العنصر الثاني فالثالث وهكذا دواليك. متى ما أعطيت نتيجة مغايرة للصفر لأيٍّ من تلك الموازنات التي تجرى على العناصر تباعًا (أي كان العنصرين الموازن بينهما غير متساويين مثلًا)، فستُعاد تلك النتيجة مباشرةً.
إن كانت جميع العناصر متساوية، فستعتمد النتيجة على موازنة طُولَي المصفوفتين. بناءً على ذلك، تكون مصفوفتان «متساويتان» وفقًا للمعامل <=>
إذا، وفقط إذا، كان لهما نفس الطول وتساوى كل عنصر من إحداهما مع العنصر الذي يقابله من الأخرى.
البنية العامة
ary <=> other_ary → -1, 0, +1 or nil
القيم المعادة
تعاد إحدى القيم التالي: -1
أو 0
أو +1
عند الموازنة بين المصفوفة ary
والمصفوفة other_ary
، أو تُعاد القيمة nil
إن لم تكن المصفوفة other_ary
الثانية المعطاة مصفوفةً، أو إذا أعيدت القيمة nit
عند الموازنة بين عنصرين من المصفوفتين.
أمثلة
أمثلة عن استخدام المعامل <=>
:
[ "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
، فسيُعيد مصفوفة جديدة تتكرر فيها المصفوفة تلك عددًا من المرات مساويًا لذلك العدد المعطى.