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

من موسوعة حسوب
لا ملخص تعديل
مراجعة وتدقيق
 
سطر 1: سطر 1:
<code>MatchData</code> هو نوع المتغير الخاص ‎<code>$~‎</code> ، كما أنه نوع الكائنات المُعادة من <code>[[Ruby/Regexp/match|Regexp#match]]</code> و <code>[[Ruby/Regexp/last match|Regexp.last_match]]</code>. فهو يغلف ويستوعب جميع نتائج التطابق مع التعبير النمطي،   
الصنف <code>MatchData</code> هو نوع المتغير الخاص ‎<code>$~‎</code> ، كما أنه نوع الكائنات المُعادة من <code>[[Ruby/Regexp/match|Regexp.match]]</code> و <code>[[Ruby/Regexp/last match|Regexp.last_match]]</code>. فهو يغلف ويستوعب جميع نتائج التطابق مع تعبير نمطي. يمكن الوصول إلى النتائج من خلال المتغيرات الخاصة ‎<code>$&‎</code> و ‎<code>$'‎</code> و <code>$</code> و ‎<code>$`‎</code> و ‎<code>$1</code> و ‎<code>$2</code> وهكذا دواليك.  
 
يمكن الدخول إلى النتائج من خلال المتغيرات الخاصة ‎<code>$&‎</code> و ‎<code>$'‎</code> و <code>$</code> و ‎<code>$`‎</code> و ‎<code>$1</code> و ‎<code>$2</code> وهكذا دواليك.
==توابع الصنف العامة (Public Class Methods)==
==توابع الصنف العامة (Public Class Methods)==
=== [[Ruby/MatchData/Equality|المعامل ==]]===
===[[Ruby/MatchData/Equality|<code>==</code>]]===
معامل التساوي - يتطابق كائنان من النوع <code>matchdata</code> إذا كانت السلاسل النصية المستهدفة منهما، والأنماط ومواضع المُطابقة متماثلة.
يتحقق المعامل <code>==</code> من تطابق كائنان من النوع <code>matchdata</code> إذا كانت السلاسل النصية المستهدفة منهما، والأنماط ومواضع المُطابقة متماثلة.
=== [[Ruby/MatchData/index|التابع []]]===
===[[Ruby/MatchData/index|<code>[]</code>]]===
تتصرف <code>MatchData</code> كمصفوفة، ويمكن الدخول إليها باستخدام تقنيات فهرسة المصفوفات العادية.
تتصرف الكائنات <code>MatchData</code> كمصفوفة، لذا يمكن الوصول إليها باستخدام تقنيات فهرسة المصفوفات العادية (أي باستعمال المعامل <code>[]</code>).
===[[Ruby/MatchData/begin | التابع begin]]===
===[[Ruby/MatchData/begin|<code>begin</code>]]===
يعيد موضع (offset) بداية العنصر رقم <code>n</code> من مصفوفة التطابق في السلسلة النصية.  
يعيد موضع (مقدار إزاحة [offset]) بداية العنصر <code>n</code> من مصفوفة التطابق في السلسلة النصية.
===[[Ruby/MatchData/captures | التابع captures]]===
===[[Ruby/MatchData/captures|<code>captures</code>]]===
يعيد مصفوفة الأجزاء المُطابقة (array of captures)؛  
يعيد مصفوفة الأجزاء المُطابقة (array of captures)؛ يكافئ<code>mtch.to_a[1..-1]‎</code>.
===[[Ruby/MatchData/end | التابع end]]===
===[[Ruby/MatchData/end|<code>end</code>]]===
يعيد موضع (offset) بداية العنصر رقم <code>n</code> من مصفوفة التطابق في السلسلة النصية.  
يعيد موضع (offset) الحرف الذي يلي نهاية العنصر <code>n</code> من مصفوفة التطابق في السلسلة النصية.
===[[Ruby/MatchData/eql-3F | التابع ‎eql?‎]]===
===[[Ruby/MatchData/eql-3F|<code>‎eql?‎</code>]]===
يتحقق من تساوي كائنين من النوع <code>matchdata</code>
يتحقق من تساوي كائنين من النوع <code>[[Ruby/MatchData|matchdata]]</code>، إذ يعيد القيمة <code>true</code> إذا كانت السلاسل النصية المستهدفة منهما، والأنماط ومواضع المُطابقة متماثلة.
===[[Ruby/MatchData/hash | التابع hash]]===
===[[Ruby/MatchData/hash|<code>hash</code>]]===
يعيد التابع <code>hash</code> تكويد hash استنادًا إلى السلسلة النصية المستهدفة والتعبير النمطي (regexp) ومواضع المطابقة للكائن <code>[[Ruby/MatchData|matchdata]]</code>.
يعيد القيمة hash اعتمادًا على السلسلة النصية المستهدفة والتعبير النمطي (regexp) ومواضع المطابقة للكائن <code>[[Ruby/MatchData|matchdata]]</code>.
===[[Ruby/MatchData/inspect | التابع inspect]]===
===[[Ruby/MatchData/inspect|<code>inspect</code>]]===
يعيد نسخة قابلة للطباعة من <code>mtch</code>.
يعيد نسخة قابلة للطباعة من الكائن الذي استُدعي معه.
===[[Ruby/MatchData/length | التابع length]]===
===[[Ruby/MatchData/length|<code>length</code>]]===
يعيد عدد العناصر في مجموعة المطابقة.
يعيد عدد العناصر المتطابقة في مجموعة المُطابقة.
===[[Ruby/MatchData/named_captures | التابع named_captures]]===
===[[Ruby/MatchData/named captures|<code>named_captures</code>]]===
يعيد قاموسًا (<code>Hash</code>) باستخدام الجزء المُطابق (capture) المعين.
يعيد الجدول <code>[[Ruby/Hash|Hash]]</code> الذي يحوي العناصر المتطابقة وجزء التعبير النمطي الذي طابقها من التعبير النمطي الكلي.
===[[Ruby/MatchData/names | التابع names]]===
===[[Ruby/MatchData/names|<code>names</code>]]===
يعيد قائمة بأسماء الأجزاء المُلتقطة (captures) كمصفوفة من سلاسل نصية.
يعيد قائمة بأسماء الأجزاء المُلتقِطَة (captures) في التعبير النمطي.
===[[Ruby/MatchData/offset | التابع offset]]===
===[[Ruby/MatchData/offset|<code>offset</code>]]===
يعيد مصفوفة ثنائية تحتوي موضعي (offsets) البداية والنهاية للمطابقة رقم <code>n</code>.
يعيد مصفوفة بعنصرين تحوي موضعي (مقدار إزاحة [offsets]) البداية والنهاية للمطابقة <code>n</code>.
===[[Ruby/MatchData/post_match | التابع post_match]]===
===[[Ruby/MatchData/post match|<code>post_match</code>]]===
يعيد الجزء الذي يلي المطابقة (match) الحالية من السلسلة النصية الأصلية.  
يعيد الجزء الذي يلي المطابقة (match) الحالية من السلسلة النصية الأصلية. 
===[[Ruby/MatchData/pre_match | التابع pre_match]]===
===[[Ruby/MatchData/pre match|<code>pre_match</code>]]===
يعيد الجزء الذي يسبق المطابقة (match) الحالية من السلسلة النصية الأصلية.
يعيد الجزء الذي يسبق المطابقة (match) الحالية من السلسلة النصية الأصلية. 
===[[Ruby/MatchData/regexp | التابع regexp]]===
===[[Ruby/MatchData/regexp|<code>regexp</code>]]===
يعيد التعبير النمطي regexp.
يعيد التعبير النمطي (regexp) الذي استُعمِل في عملية المطابقة.
===[[Ruby/MatchData/size | التابع size]]===
===[[Ruby/MatchData/size|<code>size</code>]]===
يعيد عدد العناصر في مصفوفة المطابقة.
يعيد عدد العناصر في مصفوفة المطابقة.
===[[Ruby/MatchData/string | التابع string]]===
===[[Ruby/MatchData/string|<code>string</code>]]===
يعيد نسخة مُجمدة من السلسلة النصية التي تم تمريرها إلى <code>match</code>.
يعيد نسخةً مُجمدةً من السلسلة النصية التي تم تمريرها إلى التابع <code>[[Ruby/Regexp/match|match]]</code> لمطابقتها مع تعبير نمطي.
===[[Ruby/MatchData/to_a | التابع to_a]]===
===[[Ruby/MatchData/to a|<code>to_a</code>]]===
يعيد مصفوفة المطابقات.
يعيد مصفوفة المطابقات.
===[[Ruby/MatchData/to_s | التابع to_s]]===
===[[Ruby/MatchData/to s|<code>to_s</code>]]===
يعيد كامل السلسلة النصية المُطابَقة.
يعيد كامل السلسلة النصية المُطابقة.
===[[Ruby/MatchData/values_at | التابع values_at]]===
===[[Ruby/MatchData/values at|<code>values_at</code>]]===
يستخدم الفهارس المعطاة <code>index</code> للدخول إلى القيم المُطابقة، ثم يعيد مجموعة من المطابقات المقابلة.
يستخدم الفهارس المُمرَّرة إليه للوصول إلى قيم العناصر المُتطابقة ثم يعيدها.
==مصادر<span> </span>==
==مصادر<span> </span>==
*[http://ruby-doc.org/core-2.5.1/MatchData.html قسم الصنف MatchData في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/MatchData.html قسم الصنف MatchData في توثيق روبي الرسمي.]<noinclude>{{DISPLAYTITLE: الصنف <code>MatchData</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE: صفحة الصنف <code>MatchData</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: MatchData]]
[[تصنيف: Ruby Class]]
[[تصنيف: Ruby MatchData]]

المراجعة الحالية بتاريخ 11:44، 17 نوفمبر 2018

الصنف MatchData هو نوع المتغير الخاص ‎$~‎ ، كما أنه نوع الكائنات المُعادة من Regexp.match و Regexp.last_match. فهو يغلف ويستوعب جميع نتائج التطابق مع تعبير نمطي. يمكن الوصول إلى النتائج من خلال المتغيرات الخاصة ‎$&‎ و ‎$'‎ و $ و ‎$`‎ و ‎$1 و ‎$2 وهكذا دواليك.

توابع الصنف العامة (Public Class Methods)

==

يتحقق المعامل == من تطابق كائنان من النوع matchdata إذا كانت السلاسل النصية المستهدفة منهما، والأنماط ومواضع المُطابقة متماثلة.

[]

تتصرف الكائنات MatchData كمصفوفة، لذا يمكن الوصول إليها باستخدام تقنيات فهرسة المصفوفات العادية (أي باستعمال المعامل []).

begin

يعيد موضع (مقدار إزاحة [offset]) بداية العنصر n من مصفوفة التطابق في السلسلة النصية.

captures

يعيد مصفوفة الأجزاء المُطابقة (array of captures)؛ يكافئmtch.to_a[1..-1]‎.

end

يعيد موضع (offset) الحرف الذي يلي نهاية العنصر n من مصفوفة التطابق في السلسلة النصية.

‎eql?‎

يتحقق من تساوي كائنين من النوع matchdata، إذ يعيد القيمة true إذا كانت السلاسل النصية المستهدفة منهما، والأنماط ومواضع المُطابقة متماثلة.

hash

يعيد القيمة hash اعتمادًا على السلسلة النصية المستهدفة والتعبير النمطي (regexp) ومواضع المطابقة للكائن matchdata.

inspect

يعيد نسخة قابلة للطباعة من الكائن الذي استُدعي معه.

length

يعيد عدد العناصر المتطابقة في مجموعة المُطابقة.

named_captures

يعيد الجدول Hash الذي يحوي العناصر المتطابقة وجزء التعبير النمطي الذي طابقها من التعبير النمطي الكلي.

names

يعيد قائمة بأسماء الأجزاء المُلتقِطَة (captures) في التعبير النمطي.

offset

يعيد مصفوفة بعنصرين تحوي موضعي (مقدار إزاحة [offsets]) البداية والنهاية للمطابقة n.

post_match

يعيد الجزء الذي يلي المطابقة (match) الحالية من السلسلة النصية الأصلية. 

pre_match

يعيد الجزء الذي يسبق المطابقة (match) الحالية من السلسلة النصية الأصلية. 

regexp

يعيد التعبير النمطي (regexp) الذي استُعمِل في عملية المطابقة.

size

يعيد عدد العناصر في مصفوفة المطابقة.

string

يعيد نسخةً مُجمدةً من السلسلة النصية التي تم تمريرها إلى التابع match لمطابقتها مع تعبير نمطي.

to_a

يعيد مصفوفة المطابقات.

to_s

يعيد كامل السلسلة النصية المُطابقة.

values_at

يستخدم الفهارس المُمرَّرة إليه للوصول إلى قيم العناصر المُتطابقة ثم يعيدها.

مصادر