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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: المعامل <code>clamp‎</code> الخاص بالصنف <code>Comparable </code> في روبي}}</noinclude> تصنيف: Ruby ت...'
 
لا ملخص تعديل
سطر 4: سطر 4:
[[تصنيف: Ruby Comparable]]
[[تصنيف: Ruby Comparable]]


يتحقق التابع ‎<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> الذي استدعي معه.''


== البنية العامة ==
== البنية العامة ==
<syntaxhighlight lang="ruby">
<syntaxhighlight lang="ruby">
between?(min, max) → true or false
clamp(min, max) → obj
</syntaxhighlight>
</syntaxhighlight>


سطر 14: سطر 14:


=== <code>''min''</code> ===
=== <code>''min''</code> ===
يمثل هذا المعامل القيمة الدنيا في المقارنة.
يمثل هذا المعامل القيمة الدنيا.


=== <code>''max''</code>'' '' ===
=== <code>''max''</code>'' '' ===
يمثل هذا المعامل القيمة القصوى في المقارنة.
يمثل هذا المعامل القيمة القصوى.


== القيمة المٌعادة ==
== القيمة المٌعادة ==
يعيد التابع <code>between?</code>‎ القيمة <code>false</code> إن أعاد التعبير<code>''obj'' <=> ''min''</code> قيمة أصغر من ‎‎<code>0</code> أو إن أعاد التعبير  <code>''obj'' <=> ''max''</code>'' قيمة أكبر من <code>0</code>''، خلا ذلك سيعيد <code>true</code>.
يعيد التابع <code>clamp</code>‎الوسيط المُعطى <code>min</code> إن كان عائد <code>''obj'' <=> ''min''</code> ''أقل من <code></code> أو يعيد <code>max</code>  إن كان عائد <code>obj <=> max</code> أكبر من <code>0</code>، خلا ذلك سيعيد الكائن <code>obj </code> الذي استدعي معه.''


== أمثلة ==
== أمثلة ==
أمثلة عن استخدام التابع <code>between?</code>‎:<syntaxhighlight lang="ruby">
أمثلة عن استخدام التابع <code>clamp</code>‎:<syntaxhighlight lang="ruby">
3.between?(1, 5)               #=> true
12.clamp(0, 100)        #=> 12
6.between?(1, 5)               #=> false
523.clamp(0, 100)       #=> 100
'cat'.between?('ant', 'dog')   #=> true
-3.123.clamp(0, 100)     #=> 0
'gnu'.between?('ant', 'dog')   #=> false
 
'd'.clamp('a', 'f')     #=> 'd'
'z'.clamp('a', 'f')     #=> 'f'
</syntaxhighlight>
</syntaxhighlight>


== أنظر أيضًا ==
== أنظر أيضًا ==
* المعامل [[Ruby/Comparable/Less than|<]]: يقارن المعامل <code><</code> بين كائنين بناءً  على النتيجة التي يعيدها المعامل <code><=></code> الخاص بالمُستقبِل (receiver). إذ يعيد القيمة <code>true</code> إن  أعاد المعامل <code><=></code> القيمة ‎<code>1</code>‎ ، وإلا فسيعيد <code>false</code>.
* التابع [[Ruby/Comparable/between-3F|‎<code>between?</code>]]: يتحقق التابع ‎<code>between?</code>‎مما إذا كان الكائن الذي استُدعي معه محصورا بين الكائنين المٌمرّرين إليه.
*  المعامل <code>‎‎‎[[Ruby/Comparable/Greater-3D|<=‎]]</code> : يقارن المعامل <code>‎‎‎<=‎</code> بين كائنين بناءً  على النتيجة التي يعيدها المعامل <code><=></code> الخاص بالمُستقبِل (receiver). إذ يعيد القيمة <code>true</code> إن  أعاد المعامل <code><=></code> القيمة ‎<code>-1</code>‎ أو <code>0</code>، وإلا فسيعيد <code>false</code>.


== مصادر ==
== مصادر ==
* [http://ruby-doc.org/core-2.5.1/Comparable.html#method-i-between-3F قسم التابع <code>between?</code>‎ في الصنف Array في توثيق روبي الرسمي.]
* [http://ruby-doc.org/core-2.5.1/Comparable.html#method-i-between-3F قسم التابع <code>between?</code>‎ في الصنف Array في توثيق روبي الرسمي.]

مراجعة 12:03، 13 سبتمبر 2018


يعيد التابع ‎clamp‎الوسيط المُعطى min (أنظر فقرة البنية العامة) إن كان عائد obj <=> min أقل من 0، أو يعيد max (أنظر فقرة البنية العامة) إن كان عائد obj <=> max أكبر من 0، خلا ذلك سيعيد الكائنَ obj  الذي استدعي معه.

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

clamp(min, max)  obj

المعاملات

min

يمثل هذا المعامل القيمة الدنيا.

max 

يمثل هذا المعامل القيمة القصوى.

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

يعيد التابع ‎clamp‎الوسيط المُعطى min إن كان عائد obj <=> min أقل من أو يعيد max إن كان عائد obj <=> max أكبر من 0، خلا ذلك سيعيد الكائن obj  الذي استدعي معه.

أمثلة

أمثلة عن استخدام التابع clamp‎:

12.clamp(0, 100)         #=> 12
523.clamp(0, 100)        #=> 100
-3.123.clamp(0, 100)     #=> 0

'd'.clamp('a', 'f')      #=> 'd'
'z'.clamp('a', 'f')      #=> 'f'

أنظر أيضًا

  • التابع between?‎ : يتحقق التابع ‎between?‎مما إذا كان الكائن الذي استُدعي معه محصورا بين الكائنين المٌمرّرين إليه.

مصادر