معامل الفهرسة []
الخاص بالصنف 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
من مصفوفة التطابق في السلسلة النصية.