التابع casecmp
الخاص بالصنف Symbol
في روبي
التابع 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).