التابع last_match‎ الخاص بالصنف Regexp في روبي

من موسوعة حسوب

يُعيد التابع last_match في الشكل الأول (انظر فقرة البنية العامة) كائنَ MatchData الذي تم إنشاؤه من آخر تطابق (match) ناجح للنمط. وهو مكافئ لقراءة المتغير العام ‎$~‎ (راجع المتغيرات العامة المخصوصة في صفحة Regexp لمزيد من التفاصيل).

في الشكل الثاني، يعيد التابع last_match الحقل رقم n في الكائن MatchData. يمكن أن يكون n عبارة عن سلسلة نصية أو رمزًا للإشارة إلى الالتقاط المسمى (named capture).

لاحظ أن last_match هو متغير محلي في مدى (scope) التابع أو المهمة الفرعية (thread) للتابع الذي أنجز النمط.

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

last_match   matchdata
last_match(n)   str

المعاملات

n‎

سلسلة نصية أو رمز.

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

يُعيد التابع last_match في الشكل الأول كائنَ MatchData الذي تم إنشاؤه من آخر تطابق (match) ناجح للنمط. وفي الشكل الثاني، يعيد الحقل رقم n في الكائن MatchData.

أمثلة

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

/c(.)t/ =~ 'cat'        #=> 0
Regexp.last_match       #=> #<MatchData "cat" 1:"a">
Regexp.last_match(0)    #=> "cat"
Regexp.last_match(1)    #=> "a"
Regexp.last_match(2)    #=> nil
/(?<lhs>\w+)\s*=\s*(?<rhs>\w+)/ =~ "var = val"
Regexp.last_match       #=> #<MatchData "var = val" lhs:"var" rhs:"val">
Regexp.last_match(:lhs) #=> "var"
Regexp.last_match(:rhs) #=> "val"‎

انظر أيضا

  • التابع match: يتحقق مما إذا كان التعبير النمطي مُطابقا أم لا.

مصادر