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

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

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

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

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

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

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

التعبير mtch[0]‎ يعيد كامل السلسلة النصية المُطابقة. فيما تعيد التعابير mtch[1]‎ و mtch[2]‎ ...، القيم المؤشرة (backdferences) المُطابقة.

أمثلة

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

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 من مصفوفة التطابق في السلسلة النصية.

مصادر