الفرق بين المراجعتين لصفحة: «Ruby/MatchData/index»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: معامل الفهرسة <code>[]‎</code> الخاص بالصنف <code>MatchData</code> في روبي}}</noinclude> [[تصنيف: Ruby]...'
 
لا ملخص تعديل
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby MatchData]]
[[تصنيف: Ruby MatchData]]
تتصرف <code>MatchData</code> كمصفوفة، ويمكن الدخول إليهت باستخدام تقنيات فهرسة المصفوفات العادية.  التعبير <code>mtch[0]</code> مكافئ للمتغير الخاص <code>$&</code>، لذلك فهو يعيد كامل السلسلة النصية المُطابقة.  فيما تعيد التعابير <code>mtch[1]</code> و <code>mtch[2]</code> وهلم جرا، القيم المؤشرة (backdferences) المتطابقة (أجزاء النمط الموجودة بين قاسين).
تتصرف كائنات <code>[[Ruby/MatchData|MatchData]]</code> كمصفوفة، ويمكن الدخول إليها باستخدام تقنيات فهرسة المصفوفات العادية.   
 
التعبير <code>mtch[0]</code> مكافئ للمتغير الخاص ‎‎<code>$&</code>، لذلك فهو يعيد كامل السلسلة النصية المُطابقة.  فيما تعيد التعابير <code>mtch[1]</code> و <code>mtch[2]</code> ...، القيم المؤشرة (backdferences) المُطابقة (أجزاء النمط الموجودة بين قاسين).
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">mtch[i]→ str or nil
<syntaxhighlight lang="ruby">mtch[i]→ str or nil
سطر 10: سطر 12:
mtch[name]→ str or nil‎</syntaxhighlight>
mtch[name]→ str or nil‎</syntaxhighlight>
==القيمة المُعادة==
==القيمة المُعادة==
التعبير <code>mtch[0]‎</code>  يعيد كامل السلسلة النصية المُطابقة.  فيما تعيد التعابير <code>mtch[1]‎</code> و <code>mtch[2]‎</code> ...، القيم المؤشرة (backdferences) المُطابقة.


==أمثلة==
==أمثلة==
مثال على استخدام التابع <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">
سطر 24: سطر 27:
m[:foo]    #=> "aaa"‎</syntaxhighlight>
m[:foo]    #=> "aaa"‎</syntaxhighlight>
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/MatchData/3D-3D|==]]</code>: معامل التساوي - يتطابق كائنان من النوع matchdata إذا كانت السلاسل النصية المستهدفة منهما، والأنماط ومواضع المُطابقة متماثلة.
* التابع <code>[[Ruby/MatchData/begin|begin]]</code>: يعيد موضع (offset) بداية العنصر رقم <code>n</code> من مصفوفة التطابق في السلسلة النصية.
* التابع <code>[[Ruby/MatchData/begin|begin]]</code>: يعيد ظظظ موضع (offset) بداية العنصر رقم n من مصفوفة التطابق في السلسلة النصية. n يمكن أن يكون سلسلة نصية أو رمز للإشارة إلى جزء مُطابق معيّن.


==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/MatchData.html#method-i-5B-5D قسم  التابع []في الصنف MatchData‎ في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/MatchData.html#method-i-5B-5D <nowiki>قسم  المعامل  [] في الصنف MatchData‎ في توثيق روبي الرسمي.</nowiki>]

مراجعة 22:47، 24 أكتوبر 2018

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

مصادر