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