الفرق بين المراجعتين لصفحة: «Ruby/Array/Comparison»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: المعامل <=> الخاص بالصنف Array في روبي}}</noinclude> | <noinclude>{{DISPLAYTITLE: المعامل <code><=></code> الخاص بالصنف <code>Array</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
سطر 12: | سطر 12: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==القيم المعادة== | ==القيم المعادة== | ||
تعاد إحدى القيم التالي: <code>-1</code> أو <code>0</code> أو <code>+1</code> عند الموازنة بين المصفوفة <code>ary</code> والمصفوفة <code>other_ary</code>، أو تُعاد القيمة <code>nil</code> إن لم تكن المصفوفة <code>other_ary</code> الثانية المعطاة مصفوفةً، أو إذا أعيدت القيمة <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>nil</code> عند الموازنة بين عنصرين من المصفوفتين. | ||
==أمثلة== | ==أمثلة== | ||
أمثلة عن استخدام المعامل <code><=></code>: | أمثلة عن استخدام المعامل <code><=></code>: | ||
سطر 20: | سطر 20: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
*المعامل [[Ruby/Array/union|<nowiki>|</nowiki>]]: يجمع عناصر مصفوفتين في مصفوفة واحدة جديدة مع استثناء العناصر المكررة والحفاظ على ترتيب العناصر وفقًا للمصفوفة الأولى المعطاة. | *المعامل [[Ruby/Array/union|<code><nowiki>|</nowiki></code>]]: يجمع عناصر مصفوفتين في مصفوفة واحدة جديدة مع استثناء العناصر المكررة والحفاظ على ترتيب العناصر وفقًا للمصفوفة الأولى المعطاة. | ||
*المعامل [[Ruby/Array/append operator|>>]]: يضيف | *المعامل [[Ruby/Array/append operator|<code>>></code>]]: يضيف كائنًا مُحدَّدًا إلى نهاية المصفوفة الأصلية ثم يعيد المصفوفة نفسها، لذا يمكن تكرار هذا المعامل عدة مرات وبشكل متسلسل. | ||
*المعامل [[Ruby/Array/minus|-]]: يعيد مصفوفة جديدة تمثل نسخة من جميع عناصر المصفوفة الأصلية باستثناء العناصر المشتركة مع المصفوفة <code>other_ary</code> الأخرى. | *المعامل [[Ruby/Array/minus|<code>-</code>]]: يعيد مصفوفة جديدة تمثل نسخة من جميع عناصر المصفوفة الأصلية باستثناء العناصر المشتركة مع المصفوفة <code>other_ary</code> الأخرى. | ||
*المعامل [[Ruby/Array/and|&]]: يعيد مصفوفةً جديدةً تحتوي على العناصر المشتركة بين مصفوفتين دون تكرارها. | *المعامل [[Ruby/Array/and|<code>&</code>]]: يعيد مصفوفةً جديدةً تحتوي على العناصر المشتركة بين مصفوفتين دون تكرارها. | ||
*المعامل [[Ruby/Array/star|*]]: إن استعمل المعامل * مع مصفوفة <code>ary</code> وسلسلة نصية <code>str</code>، فسيُكافئ حينئذٍ العبارة <code> | *المعامل [[Ruby/Array/star|<code>*</code>]]: إن استعمل المعامل * مع مصفوفة <code>ary</code> وسلسلة نصية <code>str</code>، فسيُكافئ حينئذٍ العبارة <code>[[Ruby/Array/join|ary.join(str)]]</code>. أمَّا إن استعمل مع مصفوفة <code>ary</code> وعدد <code>int</code>، فسيُعيد مصفوفة جديدة تتكرر فيها المصفوفة تلك عددًا من المرات مساويًا لذلك العدد المعطى. | ||
==مصادر== | ==مصادر== | ||
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-3C-3D-3E قسم المعامل <=> في الصنف Array في توثيق روبي الرسمي.] | * [https://ruby-doc.org/core-2.5.1/Array.html#method-i-3C-3D-3E قسم المعامل <=> في الصنف Array في توثيق روبي الرسمي.] |
مراجعة 06:38، 2 أكتوبر 2018
يعيد معامل الموازنة <=>
عددًا صحيحًا (-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
، فسيُعيد مصفوفة جديدة تتكرر فيها المصفوفة تلك عددًا من المرات مساويًا لذلك العدد المعطى.