الفرق بين المراجعتين لصفحة: «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
من مصفوفة التطابق في السلسلة النصية.