الفرق بين المراجعتين لصفحة: «Ruby/Symbol/casecmp»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>casecmp</code> الخاص بالصنف <code>Symbol</code> في روبي}}</noinclude> تصنيف: Ruby تصن...' |
لا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Symbol]] | [[تصنيف: Ruby Symbol]] | ||
التابع <code>casecmp</code> هو نسخة غير حساسة لحالة الأحرف للمعامل <code>Symbol#<=></code>. في الوقت الحالي، لا تعمل الحساسية لحالة الأحرف إلا على الأحرف | التابع <code>casecmp</code> هو نسخة غير حساسة لحالة الأحرف (Case-insensitive) للمعامل <code>[[Ruby/Symbol/compar operator|Symbol#<=>]]</code>. في الوقت الحالي، لا تعمل الحساسية لحالة الأحرف إلا على الأحرف <code>A-Z/a-z</code>، وليس على كل أحرف اليونيكود. هذا السلوك مختلف عن التابع <code>[[Ruby/Symbol/casecmp-3F|casecmp?]]</code>. | ||
تُعاد القيمة <code>nil</code> إذا كان لل[[Ruby/Symbol|رمزين]] ترميزات غير متوافقة، أو إن لم يكن <code>other_symbol</code> [[Ruby/Symbol|رمزً]]ا. | |||
تُعاد القيمة <code>nil</code> إذا كان لل[[Ruby/Symbol| | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">casecmp(other_symbol)→ -1, 0, +1, or nil</syntaxhighlight> | <syntaxhighlight lang="ruby">casecmp(other_symbol)→ -1, 0, +1, or nil</syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
===<code>other_symbol</code>=== | ===<code>other_symbol</code>=== | ||
رمز. | |||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
تعاد <code>-1</code> أو <code>0</code> أو <code>+1</code> أو بناءً على ما إذا كان الرمز أصغر من أو يساوي أو أكبر من <code>other_symbol</code>. أو تُعاد القيمة <code>nil</code> إن كانت القيمتان غير قابلتين للمقارنة. | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>casecmp</code>: | مثال على استخدام التابع <code>casecmp</code>:<syntaxhighlight lang="ruby">:aBcDeF.casecmp(:abcde) #=> 1 | ||
<syntaxhighlight lang="ruby">:aBcDeF.casecmp(:abcde) #=> 1 | |||
:aBcDeF.casecmp(:abcdef) #=> 0 | :aBcDeF.casecmp(:abcdef) #=> 0 | ||
:aBcDeF.casecmp(:abcdefg) #=> -1 | :aBcDeF.casecmp(:abcdefg) #=> -1 | ||
:abcdef.casecmp(:ABCDEF) #=> 0</syntaxhighlight> | :abcdef.casecmp(:ABCDEF) #=> 0 | ||
:foo.casecmp(2) #=> nil | |||
"\u{e4 f6 fc}".encode("ISO-8859-1").to_sym.casecmp(:"\u{c4 d6 dc}") #=> nil</syntaxhighlight> | |||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Symbol/capitalize|capitalize]]</code>: التابع <code>capitalize</code> مشابه للتعبير <code>sym.to_s.capitalize.intern</code>. | *التابع <code>[[Ruby/Symbol/capitalize|capitalize]]</code>: التابع <code>capitalize</code> مشابه للتعبير <code>sym.to_s.capitalize.intern</code>. | ||
* التابع <code>[[Ruby/Symbol/casecmp-3F|casecmp?]]</code>: يُعيد <code>true</code> إن كان ال[[Ruby/Symbol|رمز]] (انظر فقرة البنية العامة) <code>sym</code> و <code>other_symbol</code> متساويين بعد طي حالة اليونيكود (Unicode case folding) | *التابع <code>[[Ruby/Symbol/casecmp-3F|casecmp?]]</code>: يُعيد <code>true</code> إن كان ال[[Ruby/Symbol|رمز]] (انظر فقرة البنية العامة) <code>sym</code> و <code>other_symbol</code> متساويين بعد طي حالة اليونيكود (Unicode case folding). | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Symbol.html#method-i-casecmp قسم التابع casecmp في الصنف Symbol في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Symbol.html#method-i-casecmp قسم التابع casecmp في الصنف Symbol في توثيق روبي الرسمي.] |
مراجعة 17:04، 4 نوفمبر 2018
التابع casecmp
هو نسخة غير حساسة لحالة الأحرف (Case-insensitive) للمعامل Symbol#<=>
. في الوقت الحالي، لا تعمل الحساسية لحالة الأحرف إلا على الأحرف A-Z/a-z
، وليس على كل أحرف اليونيكود. هذا السلوك مختلف عن التابع casecmp?
.
تُعاد القيمة nil
إذا كان للرمزين ترميزات غير متوافقة، أو إن لم يكن other_symbol
رمزًا.
البنية العامة
casecmp(other_symbol)→ -1, 0, +1, or nil
المعاملات
other_symbol
رمز.
القيمة المُعادة
تعاد -1
أو 0
أو +1
أو بناءً على ما إذا كان الرمز أصغر من أو يساوي أو أكبر من other_symbol
. أو تُعاد القيمة nil
إن كانت القيمتان غير قابلتين للمقارنة.
أمثلة
مثال على استخدام التابع casecmp
:
:aBcDeF.casecmp(:abcde) #=> 1
:aBcDeF.casecmp(:abcdef) #=> 0
:aBcDeF.casecmp(:abcdefg) #=> -1
:abcdef.casecmp(:ABCDEF) #=> 0
:foo.casecmp(2) #=> nil
"\u{e4 f6 fc}".encode("ISO-8859-1").to_sym.casecmp(:"\u{c4 d6 dc}") #=> nil
انظر أيضا
- التابع
capitalize
: التابعcapitalize
مشابه للتعبيرsym.to_s.capitalize.intern
. - التابع
casecmp?
: يُعيدtrue
إن كان الرمز (انظر فقرة البنية العامة)sym
وother_symbol
متساويين بعد طي حالة اليونيكود (Unicode case folding).