الفرق بين المراجعتين ل"Ruby/Regexp/3D~"

من موسوعة حسوب
< Ruby‏ | Regexp
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>=~‎</code> الخاص بالصنف <code>Regexp</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف:...')
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>=~</code> الخاص بالصنف <code>Regexp</code> في روبي}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: التابع <code>=~‎‎</code> الخاص بالصنف <code>Regexp</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]

مراجعة 23:06، 31 أكتوبر 2018

يبحث التابع =~ عن تطابق للتعبير النمطي rxp (انظر فقرة البنية العامة) ضمن str.

إذا تم استخدام =~ مع تعبير نمطي حرفي له التقاطات مسماة (named captures)، تتم إحالة السلاسل الملتقطة (أوnil) على متغيرات محلية تحمل نفس أسماء الالتقاطات.

إذا لم تكن هناك مطابقة، يُعطى لتلك المتغيرات القيمة nil.

تنفذ الإحالة في محلل (parser) روبي. يرصد المحلل 'regexp-literal =~ expression' لأجل التعيين. يجب أن يكون regexp حرفيًا بدون تلقيم (interpolation)، وأن يوضع على الجانب الأيسر. لا تُنفّذ عملية التعيين إذا لم يكن التعبير النمطي حرفيًا.

تلقيم التعبير النمطي، #{}، سيلغي التعيين.

لا يحدث التعيين إن وُضع التعبير النمطي على الجانب الأيمن.

البنية العامة

rxp =~ str  integer or nil

القيمة المُعادة

أمثلة

مثال على استخدام التابع =~‎:

/at/ =~ "input data"   #=> 7
/ax/ =~ "input data"   #=> nil‎

انظر أيضا

  • التابع ===: معامل تساوي الحالة (Case Equality) - يُستخدم في العبارات case.
  • التابع casefold?‎: يعيد قيمة راية الحساسية لحالة الأحرف (case-insensitive flag).

مصادر