التابع Symbol.casecmp في روبي
يقارن التابع casecmp بين رمزين بشكل غير حساس لحالة الأحرف. هذا التابع هو نسخة غير حساسة لحالة الأحرف (Case-insensitive) من المعامل <=>. في الوقت الحالي، لا تعمل الحساسية لحالة الأحرف إلا على الأحرف A-Z/a-z، وليس على كل محارف اليونيكود. هذا السلوك مختلف عن التابع casecmp?.
البنية العامة
casecmp(other_symbol)→ -1, 0, +1, or nil
المعاملات
other_symbol
الرمز المراد التحقق من مقارنته مع الرمز المعطى.
القيمة المعادة
تعاد القيمة -1 أو 0 أو +1 أو بناءً على ما إذا كان الرمز أصغر من أو يساوي أو أكبر من other_symbol. أو تُعاد القيمة nil إذا كان للرمزين ترميزات غير متوافقة، أو إن لم يكن other_symbol رمزًا.
أمثلة
مثال على استخدام التابع 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: يشبه التعبيرsym.to_s.capitalize.intern. - التابع
casecmp?: يتحقق إن كان الرمز الذي استُدعي معه والرمز المُمرَّر إليه متساويين بعد طي حالة الترميز الموحد (Unicode case folding).