الفرق بين المراجعتين ل"Ruby/Symbol/casecmp"

من موسوعة حسوب
< Ruby‏ | Symbol
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<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>. في الوقت الحالي، لا تعمل الحساسية لحالة الأحرف إلا على الأحرف من A-Z/a-وليس على كل أحرف اليونيكود. هذا مختلف عن التابع <code>[[Ruby/Symbol/casecmp-3F|#casecmp?]]</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|رمز]] ترميزات غير متوافقة، أو إن لم يكن <code>other_symbol</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>false</code> إذا لم يكونا متساويين.
+
*التابع <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).

مصادر