الفرق بين المراجعتين لصفحة: «Ruby/Array/Comparison»

من موسوعة حسوب
< Ruby‏ | Array
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: المعامل <=> الخاص بالصنف Array في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف:...'
 
لا ملخص تعديل
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Array]]
[[تصنيف: Ruby Array]]
يعيد معامل الموازنة <=> عددً‎ا صحيحًا (‎-1 أو 0 أو ‎+1) إذا كانت المصفوفة الأصلية أصغر من أو تساوي أو أكبر من المصفوفة الأخرى المعطاة على التوالي.
يعيد معامل الموازنة <code><=></code> عددً‎ا صحيحًا (<code>‎-1</code> أو <code>0</code> أو ‎<code>+1</code>) إذا كانت المصفوفة الأصلية أصغر من أو تساوي أو أكبر من المصفوفة الأخرى المعطاة على التوالي. يوازن كل كائن من كل مصفوفة باستخدام المعامل <code><=></code>.
يوازن كل كائن من كل مصفوفة باستخدام المعامل <=>.
 
يوازن بين المصفوفات عنصرًا عنصرًا؛ بعبارة أخرى، يوازن العنصر الأول من المصفوفة الأولى مع العنصر الأول من المصفوفة الثانية باستخدام المعامل <=>، ثم يوازن العنصر الثاني فالثالث وهكذا دواليك. متى ما أعطيت نتيجة مغايرة للصفر لأيٍّ من تلك الموازنات التي تجرى على العناصر تباعًا (أي كان العنصرين الموازن بينهما غير متساويين مثلًا)، فستُعاد تلك النتيجة مباشرةً.
يوازن بين المصفوفات عنصرًا عنصرًا؛ بعبارة أخرى، يوازن العنصر الأول من المصفوفة الأولى مع العنصر الأول من المصفوفة الثانية باستخدام المعامل <code><=></code>، ثم يوازن العنصر الثاني فالثالث وهكذا دواليك. متى ما أعطيت نتيجة مغايرة للصفر لأيٍّ من تلك الموازنات التي تجرى على العناصر تباعًا (أي كان العنصرين الموازن بينهما غير متساويين مثلًا)، فستُعاد تلك النتيجة مباشرةً.
إن كانت جميع العناصر متساوية، فستعتمد النتيجة على موازنة طُولَي المصفوفتين. بناءً على ذلك، تكون مصفوفتان «متساويتان» وفقًا للمعامل <=> إذا، وفقط إذا، كان لهما نفس الطول وتساوى كل عنصر من إحداهما مع العنصر الذي يقابله من الأخرى.
 
إن كانت جميع العناصر متساوية، فستعتمد النتيجة على موازنة طُولَي المصفوفتين. بناءً على ذلك، تكون مصفوفتان «متساويتان» وفقًا للمعامل <code><=></code> إذا، وفقط إذا، كان لهما نفس الطول وتساوى كل عنصر من إحداهما مع العنصر الذي يقابله من الأخرى.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby"> ary <=> other_ary → -1, 0, +1 or nil
<syntaxhighlight lang="ruby"> ary <=> other_ary → -1, 0, +1 or nil
  </syntaxhighlight>
  </syntaxhighlight>
==القيم المعادة==
==القيم المعادة==
تعاد إحدى القيم التالي: ‎-1 أو 0 أو ‎+1 عند الموازنة بين المصفوفة <code>ary</code> والمصفوفة <code>other_ary</code>، أو تُعاد القيمة <code>nil</code> إن لم تكن المصفوفة <code>other_ary</code> الثانية المعطاة مصفوفةً، أو إذا أعيدت القيمة <code>nit</code> عند الموازنة بين عنصرين من المصفوفتين.
تعاد إحدى القيم التالي: ‎<code>-1</code> أو <code>0</code> أو ‎<code>+1</code> عند الموازنة بين المصفوفة <code>ary</code> والمصفوفة <code>other_ary</code>، أو تُعاد القيمة <code>nil</code> إن لم تكن المصفوفة <code>other_ary</code> الثانية المعطاة مصفوفةً، أو إذا أعيدت القيمة <code>nit</code> عند الموازنة بين عنصرين من المصفوفتين.
==أمثلة==
==أمثلة==
أمثلة عن استخدام المعامل <=>:
أمثلة عن استخدام المعامل <code><=></code>:
<syntaxhighlight lang="ruby"> [ "a", "a", "c" ]    <=> [ "a", "b", "c" ]  #=> -1
<syntaxhighlight lang="ruby"> [ "a", "a", "c" ]    <=> [ "a", "b", "c" ]  #=> -1
[ 1, 2, 3, 4, 5, 6 ] <=> [ 1, 2 ]            #=> +1
[ 1, 2, 3, 4, 5, 6 ] <=> [ 1, 2 ]            #=> +1
سطر 19: سطر 20:
  </syntaxhighlight>
  </syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* المعامل -: يعيد مصفوفة جديدة تمثل نسخة من جميع عناصر المصفوفة الأصلية باستثناء العناصر المشتركة مع المصفوفة <code>other_ary</code> الأخرى.
*المعامل [[Ruby/Array/union|<nowiki>|</nowiki>]]: يجمع عناصر مصفوفتين في مصفوفة واحدة جديدة مع استثناء العناصر المكررة والحفاظ على ترتيب العناصر وفقًا للمصفوفة الأولى المعطاة.
* المعامل &: يعيد مصفوفةً جديدةً تحتوي على العناصر المشتركة بين مصفوفتين دون تكرارها.
*المعامل [[Ruby/Array/append operator|>>]]: يضيف كائن مُحدَّد إلى نهاية المصفوفة الأصلية ثم يعيد المصفوفة نفسها، لذا يمكن تكرار هذا المعامل عدة مرات وبشكل متسلسل.
* المعامل *: إن استعمل المعامل * مع مصفوفة <code>ary</code> وسلسلة نصية <code>str</code>، فسيُكافئ حينئذٍ العبارة <code>ary</code>.[[Ruby/Array/join | <code>join</code>]](<code>str</code>)‎. أمَّا إن استعمل مع مصفوفة <code>ary</code> وعدد <code>int</code>، فسيُعيد مصفوفة جديدة تتكرر فيها المصفوفة تلك عددًا من المرات مساويًا لذلك العدد المعطى.
*المعامل [[Ruby/Array/minus|-]]: يعيد مصفوفة جديدة تمثل نسخة من جميع عناصر المصفوفة الأصلية باستثناء العناصر المشتركة مع المصفوفة <code>other_ary</code> الأخرى.
* المعامل >>: يضيف كائن مُحدَّد إلى نهاية المصفوفة الأصلية ثم يعيد المصفوفة نفسها، لذا يمكن تكرار هذا المعامل عدة مرات وبشكل متسلسل.
*المعامل [[Ruby/Array/and|&]]: يعيد مصفوفةً جديدةً تحتوي على العناصر المشتركة بين مصفوفتين دون تكرارها.
*المعامل [[Ruby/Array/star|*]]: إن استعمل المعامل * مع مصفوفة <code>ary</code> وسلسلة نصية <code>str</code>، فسيُكافئ حينئذٍ العبارة <code>ary.[[Ruby/Array/join|join]](str)‎</code>. أمَّا إن استعمل مع مصفوفة <code>ary</code> وعدد <code>int</code>، فسيُعيد مصفوفة جديدة تتكرر فيها المصفوفة تلك عددًا من المرات مساويًا لذلك العدد المعطى.
 
==مصادر==
==مصادر==
* قسم المعامل <=> في الصنف Array في توثيق روبي الرسمي.
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-3C-3D-3E قسم المعامل <=> في الصنف Array في توثيق روبي الرسمي.]

مراجعة 10:19، 5 سبتمبر 2018

يعيد معامل الموازنة <=> عددً‎ا صحيحًا (‎-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، فسيُعيد مصفوفة جديدة تتكرر فيها المصفوفة تلك عددًا من المرات مساويًا لذلك العدد المعطى.

مصادر