الفرق بين المراجعتين ل"Ruby/MatchData/index"
اذهب إلى التنقل
اذهب إلى البحث
جميل-بيلوني (نقاش | مساهمات) ط (مراجعة وتدقيق.) |
|||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: معامل الفهرسة <code>[]</code> الخاص بالصنف <code>MatchData</code> في روبي}}</noinclude> | <noinclude>{{DISPLAYTITLE: معامل الفهرسة <code>[]</code> الخاص بالصنف <code>MatchData</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
− | [[تصنيف: Ruby | + | [[تصنيف: Ruby Operator]] |
[[تصنيف: Ruby MatchData]] | [[تصنيف: Ruby MatchData]] | ||
− | تتصرف | + | تتصرف الكائنات <code>[[Ruby/MatchData|MatchData]]</code> بشكل مشابه للمصفوفات، إذ يمكن الوصول إليها باستخدام تقنيات فهرسة المصفوفات العادية. |
− | التعبير <code>mtch[0]</code> مكافئ للمتغير الخاص <code>$&</code>، لذلك فهو يعيد كامل السلسلة النصية المُطابقة | + | التعبير <code>mtch[0]</code> مكافئ للمتغير الخاص <code>$&</code>، لذلك فهو يعيد كامل السلسلة النصية المُطابقة بينما تعيد التعابير <code>mtch[1]</code> و <code>mtch[2]</code> ...إلخ. قيم العناصر المتطابقة سابقًا (تدعى "المراجع الخلفية" [backreferences]) من أجزاء النمط الموجودة بين قوسين. |
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">mtch[i]→ str or nil | <syntaxhighlight lang="ruby">mtch[i]→ str or nil | ||
سطر 11: | سطر 11: | ||
mtch[range] → array | mtch[range] → array | ||
mtch[name]→ str or nil</syntaxhighlight> | mtch[name]→ str or nil</syntaxhighlight> | ||
− | ==القيمة | + | ==القيمة المعادة== |
− | التعبير <code>mtch[0]</code> | + | يعيد التعبير <code>mtch[0]</code> كامل السلسلة النصية المُطابقة بينما تعيد التعابير <code>mtch[1]</code> و <code>mtch[2]</code> ...إلخ. قيم العناصر المتطابقة سابقًا. |
− | |||
==أمثلة== | ==أمثلة== | ||
− | مثال على استخدام المعامل<code>[]</code>: | + | مثال على استخدام المعامل <code>[]</code>:<syntaxhighlight lang="ruby">m = /(.)(.)(\d+)(\d)/.match("THX1138.") |
− | <syntaxhighlight lang="ruby">m = /(.)(.)(\d+)(\d)/.match("THX1138.") | ||
m #=> #<MatchData "HX1138" 1:"H" 2:"X" 3:"113" 4:"8"> | m #=> #<MatchData "HX1138" 1:"H" 2:"X" 3:"113" 4:"8"> | ||
m[0] #=> "HX1138" | m[0] #=> "HX1138" | ||
سطر 27: | سطر 25: | ||
m[:foo] #=> "aaa"</syntaxhighlight> | m[:foo] #=> "aaa"</syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
− | * التابع <code>[[Ruby/MatchData/begin|begin]]</code>: يعيد موضع (offset) بداية العنصر رقم <code>n</code> من مصفوفة التطابق في السلسلة النصية. | + | *التابع <code>[[Ruby/MatchData/begin|begin]]</code>: يعيد موضع (offset) بداية العنصر رقم <code>n</code> من مصفوفة التطابق في السلسلة النصية. |
− | |||
==مصادر== | ==مصادر== | ||
− | *[http://ruby-doc.org/core-2.5.1/MatchData.html#method-i-5B-5D <nowiki>قسم | + | *[http://ruby-doc.org/core-2.5.1/MatchData.html#method-i-5B-5D <nowiki>قسم المعامل [] في الصنف MatchData في توثيق روبي الرسمي.</nowiki>] |
المراجعة الحالية بتاريخ 09:13، 17 نوفمبر 2018
تتصرف الكائنات 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
من مصفوفة التطابق في السلسلة النصية.