نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
الصنف MatchData في روبي
الصنف MatchData هو نوع المتغير الخاص $~ ، كما أنه نوع الكائنات المُعادة من Regexp.match و Regexp.last_match. فهو يغلف ويستوعب جميع نتائج التطابق مع تعبير نمطي. يمكن الوصول إلى النتائج من خلال المتغيرات الخاصة $& و $' و $ و $` و $1 و $2 وهكذا دواليك. توابع الصنف العامة (Public Class Methods) == يتحقق المعامل == من تطابق كائنان من النوع matchdata إذا كانت السلاسل النصية المستهدفة منهما، والأنماط ومواضع المُطابقة متماثلة. [] تتصرف الكائنات MatchData كمصفوفة، لذا يمكن الوصول إليها باستخدام تقنيات ...
المعامل == الخاص بالصنف MatchData في روبي
يتحقق المعامل == من تطابق كائنان من النوع matchdata إذا كانت السلاسل النصية المستهدفة منهما، والأنماط ومواضع المُطابقة متماثلة. البنية العامة mtch == mtch2→ true or false
المعاملات mtch الطرف الأول في عملية الموازنة. mtch2 الطرف الثاني في عملية الموازنة. القيمة المعادة تعاد القيمة true إن كان الكائنان متساويان، وإلا فستُعاد القيمة false. انظر أيضا التابع eql?: يتحقق من تساوي كائنين من النوع matchdata. مصادر قسم المعامل == في الصنف MatchData في توثيق روبي الرسمي.
التابع Regexp.match في روبي
يُعيد التابع match كائنًا من النوع MatchData يصف المطابقة بين تعبير نمطي وسلسلة نصية، أو يعيد القيمة nil إذا لم يكن هناك تطابق. هذا يُكافئ استرداد قيمة المتغير الخاص $~ بعد تنفيذ عملية مطابقة عادية. في حال تمرير المعامل الثاني، فسيحدد موضع البدء في السلسلة النصية. /(.)(.)(.)/.match("abc")[2] #=> "b"
/(.)(.)/.match("abc", 1)[2] #=> "c"
في حال تمرير كتلة، فسيستدعي الكتلة باستخدام MatchData إذا نجحت المطابقة، وهكذا يمكنك كتابة: /M(.*)/.match("Matz") do |m|
puts m[0]
puts m[1]
end
بدلًا من: ...
التابع Regexp.last_match في روبي
يُعيد التابع last_match إن لم يمرَّر إليه أي شيء كائنًا من النوع MatchData الذي تم إنشاؤه من آخر تطابق (match) ناجح للنمط. وهو مكافئ لقراءة المتغير العام $~ (راجع قسم المتغيرات العامة المخصصة في صفحة Regexp لمزيد من التفاصيل). أمَّا إن مرِّر إلى التابع last_match عدد n، فسيعيد المطابقة ذات الرقم n في الكائن MatchData. يمكن أن يكون n عبارة عن سلسلة نصية أو رمزًا للإشارة إلى الالتقاط المسمى (named capture). لاحظ أن last_match هو متغير محلي في مدى (scope) التابع ...
التابع Symbol.match في روبي
يعيد التابع match ناتج التعبير sym.to_s.match. البنية العامة match(pattern) → matchdata or nil
match(pattern, pos)→ matchdata or nil
المعاملات pattern نمط يراد به مطابقة الرمز المعطى. pos موضع بدء عملية المطابقة. القيمة المعادة يعاد كائنٌ من النوع Matchdata يحوي نتائج التطابق. انظر أيضًا التابع match?: يعيد ناتج التعبير sym.to_s.match?. مصادر قسم التابع match في الصنف Symbol في توثيق روبي الرسمي.
التابع String.match في روبي
يحول التابع match النمط المُمرَّر إليه إلى تعبير نمطي (إن لم يكن كذلك) ثم يطابقه مع السلسلة النصية التي استدعيت معه. البنية العامة match(pattern) → matchdata or nil
match(pattern, pos) → matchdata or nil
إن أعطيت كتلة، فستُستدعَى مع الكائن MatchData المعاد إن نجحت عملية المطابقة، وبذلك يمكننا كتابة: str.match(pat) {|m| ...}
بدلًا من: if m = str.match(pat)
...
end
وستكون القيمة المعادة هي القيمة التي تعيدها الكتلة بعد انتهاء تنفيذها في هذه الحالة. المعاملات pattern التعبير النمطي المراد مطابقته للسلسلة النصية المعطاة. إن ...
معامل الفهرسة [] الخاص بالصنف MatchData في روبي
تتصرف الكائنات 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] ...إلخ. قيم ...
التابع MatchData.eql? في روبي
يتحقق التابع eql? من تساوي كائنين من النوع matchdata، إذ يعيد القيمة true إذا كانت السلاسل النصية المستهدفة منهما، والأنماط ومواضع المُطابقة متماثلة. البنية العامة eql?(mtch2)→ true or false
المعاملات mtch2 الطرف الثاني في عملية الموازنة. القيمة المعادة تعاد القيمة true إذا كان الكائنان المتطابقان الموازنة بينهما متساويين، وإلا فستُعاد القيمة false. انظر أيضا المعامل==: يتحقق من تطابق كائنان من النوع matchdata إذا كانت السلاسل النصية المستهدفة منهما، والأنماط ومواضع المُطابقة متماثلة. مصادر قسم التابع eql? في الصنف MatchData في توثيق روبي ...
التابع MatchData.hash في روبي
يعيد التابع hash القيمة hash اعتمادًا على السلسلة النصية المستهدفة والتعبير النمطي (regexp) ومواضع المطابقة للكائن matchdata. البنية العامة hash→ integer
القيمة المعادة يعاد عدد صحيح يمثِّل القيمة hash. انظر أيضا التابع inspect: يعيد نسخة قابلة للطباعة من mtch. التابع hash: يعيد القيمة hash للكائن الذي استدعي معه. مصادر قسم التابع hash في الصنف MatchData في توثيق روبي الرسمي.
التابع MatchData.inspect في روبي
يعيد التابع inspect نسخة قابلة للطباعة من الكائن الذي استُدعي معه. البنية العامة inspect→ str
القيمة المعادة تعاد سلسلة نصية تمثِّل نسخةً قابلةً للطباعة من الكائن MatchData المعطى. أمثلة مثال على استخدام التابع inspect: puts /.$/.match("foo").inspect
#=> #<MatchData "o">
puts /(.)(.)(.)/.match("foo").inspect
#=> #<MatchData "foo" 1:"f" 2:"o" 3:"o">
puts /(.)(.)?(.)/.match("fo").inspect
#=> #<MatchData "fo" 1:"f" 2:nil 3:"o">
puts /(?<foo>.)(?<bar>.)(?<baz>.)/.match("hoge").inspect
#=> #<MatchData "hog" foo:"h" bar:"o" baz:"g">
انظر أيضا التابع length: يعيد عدد العناصر في مجموعة المطابقة. مصادر قسم التابع inspect في الصنف MatchData في توثيق روبي الرسمي.