الفرق بين المراجعتين لصفحة: «Ruby/Comparable»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 21: | سطر 21: | ||
===[[Ruby/Comparable/Less than|المعامل <]] === | ===[[Ruby/Comparable/Less than|المعامل <]] === | ||
يقارن المعامل <code><</code> بين كائنين بناءً على النتيجة التي يعيدها المعامل <code><=></code> الخاص بالمُستقبِل (receiver). إذ يعيد القيمة <code>true</code> إن أعاد المعامل <code><=></code> القيمة <code>1</code> ، وإلا فسيعيد <code>false</code>. | يقارن المعامل <code><</code> بين كائنين بناءً على النتيجة التي يعيدها المعامل <code><=></code> الخاص بالمُستقبِل (receiver). إذ يعيد القيمة <code>true</code> إن أعاد المعامل <code><=></code> القيمة <code>1</code> ، وإلا فسيعيد <code>false</code>. | ||
=== [[Ruby/Comparable/clamp|التابع <code>clamp</code>]] === | |||
يعيد التابع <code>clamp</code>الوسيط المُعطى <code>min</code> (أنظر فقرة البنية العامة) إن كان عائد <code>''obj'' <=> ''min''</code> ''أقل من <code>0</code>، أو يعيد <code>max</code> (أنظر فقرة البنية العامة) إن كان عائد <code>obj <=> max</code> أكبر من <code>0</code>، خلا ذلك سيعيد الكائنَ <code>obj </code> الذي استدعي معه.'' | |||
===[[Ruby/Comparable/between-3F|التابع<code>between?</code>]] === | |||
يتحقق التابع <code>between?</code>مما إذا كان الكائن الذي استُدعي معه محصورا بين الكائنين المٌمرّرين إليه. | |||
== مصادر == | == مصادر == | ||
* [http://ruby-doc.org/core-2.5.1/Comparable.html#method-i-between-3F قسم | * [http://ruby-doc.org/core-2.5.1/Comparable.html#method-i-between-3F قسم المخلوط Comparable في توثيق روبي الرسمي.] |
مراجعة 12:24، 13 سبتمبر 2018
يُستخدم المخلوط (mixin) Comparable
من قبل الأصناف التي يمكن ترتيب كائناتها. يجب أن يحدد الصنفُ المعاملَ <=>
، الذي يقارن الكائن المستقبِل (receiver ) مع كائن آخر ، ويعيد -1
، أو 0
، أو +1
إن كان المُستقبِل أصغر من الكائن الآخر، أو يساويه: أو أكبر منه على التوالي. إذا كان الكائن الآخر غير قابل للمقارنة ، فعندئذ سيعيد المعامل <=>
القيمة المعدومة nil
.
يستخدم Comparable
المعامل <=>
لإجراء عمليات المقارنة التقليدية (<
، <=
، ==
،>=
و>
) والتابع between?
.
توابع الكائن العامة (Public Instance Methods)
المعامل =>
يقارن المعامل <=
بين كائنين بناءً على النتيجة التي يعيدها المعامل <=>
الخاص بالمُستقبِل (receiver). إذ يعيد القيمة true
إن أعاد المعامل <=>
القيمة -1
أو 0
، وإلا فسيعيد false
.
المعامل ==
يعيد المعامل القيمة true
إن أعاد المعامل <=>
القيمة 0
أو كان الكائنان obj
و other
متساويين، خلا ذلك سيعيد false
.
المعامل >
يقارن المعامل >
بين كائنين بناءً على النتيجة التي يعيدها المعامل <=>
الخاص بالمُستقبِل (receiver). إذ يعيد القيمة true
إن أعاد المعامل <=>
القيمة -1
، وإلا فسيعيد false
.
المعامل >=
يقارن المعامل <
بين كائنين بناءً على النتيجة التي يعيدها المعامل <=>
الخاص بالمُستقبِل (receiver). إذ يعيد القيمة true
إن أعاد المعامل <=>
القيمة 1
أو 0
، وإلا فسيعيد false
.
المعامل <
يقارن المعامل <
بين كائنين بناءً على النتيجة التي يعيدها المعامل <=>
الخاص بالمُستقبِل (receiver). إذ يعيد القيمة true
إن أعاد المعامل <=>
القيمة 1
، وإلا فسيعيد false
.
التابع clamp
يعيد التابع clamp
الوسيط المُعطى min
(أنظر فقرة البنية العامة) إن كان عائد obj <=> min
أقل من 0
، أو يعيد max
(أنظر فقرة البنية العامة) إن كان عائد obj <=> max
أكبر من 0
، خلا ذلك سيعيد الكائنَ obj
الذي استدعي معه.
التابعbetween?
يتحقق التابع between?
مما إذا كان الكائن الذي استُدعي معه محصورا بين الكائنين المٌمرّرين إليه.