معامل الفهرسة []‎ الخاص بالصنف MatchData في روبي

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

تتصرف الكائنات MatchData بشكل مشابه للمصفوفات، إذ يمكن الوصول إليها باستخدام تقنيات فهرسة المصفوفات العادية.

التعبير mtch[0]‎ مكافئ للمتغير الخاص ‎‎$&‎، لذلك فهو يعيد كامل السلسلة النصية المُطابقة بينما تعيد التعابير mtch[1]‎ و mtch[2]‎ ...إلخ. قيم العناصر المتطابقة سابقًا (تدعى "المراجع الخلفية" [backreferences]) من أجزاء النمط الموجودة بين قوسين.

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

mtch[i] str or nil
mtch[start, length] array
mtch[range]   array
mtch[name] str or nil

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

يعيد التعبير mtch[0]‎ كامل السلسلة النصية المُطابقة بينما تعيد التعابير mtch[1]‎ و mtch[2]‎ ...إلخ. قيم العناصر المتطابقة سابقًا.

أمثلة

مثال على استخدام المعامل []‎:

m = /(.)(.)(\d+)(\d)/.match("THX1138.")
m          #=> #<MatchData "HX1138" 1:"H" 2:"X" 3:"113" 4:"8">
m[0]       #=> "HX1138"
m[1, 2]    #=> ["H", "X"]
m[1..3]    #=> ["H", "X", "113"]
m[-3, 2]   #=> ["X", "113"]
m = /(?<foo>a+)b/.match("ccaaab")
m          #=> #<MatchData "aaab" foo:"aaa">
m["foo"]   #=> "aaa"
m[:foo]    #=> "aaa"‎

انظر أيضا

  • التابع begin: يعيد موضع (offset) بداية العنصر رقم n من مصفوفة التطابق في السلسلة النصية.

مصادر