الفرق بين المراجعتين لصفحة: «Ruby/Regexp/last match»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>last_match</code> الخاص بالصنف <code>Regexp</code> في روبي}}</noinclude> تصنيف: Ruby تص...' |
لا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Regexp]] | [[تصنيف: Ruby Regexp]] | ||
يُعيد التابع <code>last_match</code> في الشكل الأول (انظر فقرة البنية العامة) | يُعيد التابع <code>last_match</code> في الشكل الأول (انظر فقرة البنية العامة) كائنَ <code>[[Ruby/MatchData|MatchData]]</code> الذي تم إنشاؤه من آخر تطابق (match) ناجح للنمط. وهو مكافئ لقراءة المتغير العام <code>$~</code> (راجع المتغيرات العامة المخصوصة في صفحة <code>[[Ruby/Regexp|Regexp]]</code> لمزيد من التفاصيل). | ||
في الشكل الثاني، يعيد التابع <code>last_match</code> الحقل رقم n في الكائن <code>[[Ruby/MatchData|MatchData]]</code>. يمكن أن يكون n عبارة عن سلسلة نصية أو | |||
لاحظ أن <code>[[Ruby/Regexp/last_match| | في الشكل الثاني، يعيد التابع <code>last_match</code> الحقل رقم <code>n</code> في الكائن <code>[[Ruby/MatchData|MatchData]]</code>. يمكن أن يكون <code>n</code> عبارة عن سلسلة نصية أو رمزًا للإشارة إلى الالتقاط المسمى (named capture). | ||
لاحظ أن <code>[[Ruby/Regexp/last_match|last_match]]</code> هو متغير محلي في مدى (scope) التابع أو المهمة الفرعية (thread) للتابع الذي أنجز النمط. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">last_match → matchdata | <syntaxhighlight lang="ruby">last_match → matchdata | ||
سطر 11: | سطر 13: | ||
==المعاملات== | ==المعاملات== | ||
===<code>n</code>=== | ===<code>n</code>=== | ||
سلسلة نصية أو رمز. | |||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
يُعيد التابع <code>last_match</code> في الشكل الأول كائنَ <code>[[Ruby/MatchData|MatchData]]</code> الذي تم إنشاؤه من آخر تطابق (match) ناجح للنمط. وفي الشكل الثاني، يعيد الحقل رقم <code>n</code> في الكائن <code>[[Ruby/MatchData|MatchData]]</code>. | |||
==أمثلة== | ==أمثلة== | ||
سطر 27: | سطر 30: | ||
Regexp.last_match(:rhs) #=> "val"</syntaxhighlight> | Regexp.last_match(:rhs) #=> "val"</syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Regexp/ | * التابع <code>[[Ruby/Regexp/match|match]]</code>: يتحقق مما إذا كان التعبير النمطي مُطابقا أم لا. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Regexp.html#method-c-last_match قسم التابع last_match في الصنف Regexp في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Regexp.html#method-c-last_match قسم التابع last_match في الصنف Regexp في توثيق روبي الرسمي.] |
مراجعة 21:46، 31 أكتوبر 2018
يُعيد التابع 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
: يتحقق مما إذا كان التعبير النمطي مُطابقا أم لا.