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

من موسوعة حسوب
مراجعة 22:41، 24 أكتوبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: معامل الفهرسة <code>[]‎</code> الخاص بالصنف <code>MatchData</code> في روبي}}</noinclude> [[تصنيف: Ruby]...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تتصرف 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

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

أمثلة

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

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"‎

انظر أيضا

  • التابع ==: معامل التساوي - يتطابق كائنان من النوع matchdata إذا كانت السلاسل النصية المستهدفة منهما، والأنماط ومواضع المُطابقة متماثلة.
  • التابع begin: يعيد ظظظ موضع (offset) بداية العنصر رقم n من مصفوفة التطابق في السلسلة النصية. n يمكن أن يكون سلسلة نصية أو رمز للإشارة إلى جزء مُطابق معيّن.

مصادر