التابع Symbol.casecmp‎ في روبي

من موسوعة حسوب
< Ruby‏ | Symbol
مراجعة 09:03، 5 ديسمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يقارن التابع 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).

مصادر