الفرق بين المراجعتين ل"Ruby/MatchData/index"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: معامل الفهرسة <code>[]‎</code> الخاص بالصنف <code>MatchData</code> في روبي}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: معامل الفهرسة <code>[]‎</code> الخاص بالصنف <code>MatchData</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
[[تصنيف: Ruby Method]]
+
[[تصنيف: Ruby Operator]]
 
[[تصنيف: Ruby MatchData]]
 
[[تصنيف: Ruby MatchData]]
تتصرف كائنات <code>[[Ruby/MatchData|MatchData]]</code> كمصفوفة، ويمكن الدخول إليها باستخدام تقنيات فهرسة المصفوفات العادية.   
+
تتصرف الكائنات <code>[[Ruby/MatchData|MatchData]]</code> بشكل مشابه للمصفوفات، إذ يمكن الوصول إليها باستخدام تقنيات فهرسة المصفوفات العادية.   
  
التعبير <code>mtch[0]‎</code> مكافئ للمتغير الخاص ‎‎<code>$&‎</code>، لذلك فهو يعيد كامل السلسلة النصية المُطابقة.  فيما تعيد التعابير <code>mtch[1]‎</code> و <code>mtch[2]‎</code> ...، القيم المؤشرة (backdferences) المُطابقة (أجزاء النمط الموجودة بين قاسين).
+
التعبير <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[1]‎</code> و <code>mtch[2]‎</code> ...، القيم المؤشرة (backdferences) المُطابقة.
+
يعيد التعبير <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>قسم المعامل [‎] في الصنف MatchData‎ في توثيق روبي الرسمي.</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 من مصفوفة التطابق في السلسلة النصية.

مصادر