نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

الصنف 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‎ في توثيق روبي الرسمي.

التابع Regexp.inspect‎ في روبي

يعيد التابع inspect نسخة نصية منسقة من التعبير النمطي الذي استُدعي معه. قد يكون من المفاجئ أن تعلم أن inspect ينتج في الواقع نسخة نصية طبيعية أكثر حتى من التابع to_s. البنية العامة inspect→ string‎ القيمة المعادة تعاد سلسلة نصية منسقة من التعبير النمطي المعطى. أمثلة مثال على استخدام التابع inspect‎: /ab+c/ix.inspect #=> "/ab+c/ix"‎ انظر أيضًا التابع hash: يحسب الشيفرة hash استنادًا إلى القيمة النصية وخيارات التعبير النطامي الذي استدعي معه. التابع match: يُعيد كائنًا من ...

المعامل ~‎ الخاص بالصنف Regexp في روبي

يبحث المعامل ~ عن مطابقة التعبير النمطي الذي استُدعي معه في محتويات المتغير ‎$_‎. وهو مُكافئ للتعبير rxp =~ $_‎. البنية العامة ~ rxp→ integer or nil‎ القيمة المعادة يعاد موضع المطابقة الأولى بين التعبير النمطي المعطى ومحتوى المتغير ‎$_‎. أمثلة مثال على استخدام المعامل ~‎: $_ = "input data" ~ /at/ #=> 7‎ انظر أيضا التابع match: يُعيد كائنًا من النوع MatchData يصف المطابقة، أو يعيد nil إذا لم يكن هناك تطابق. مصادر قسم المعامل ~‎ في الصنف Regexp‎ في توثيق روبي الرسمي.

التابع Regexp.match?‎‎ في روبي

يتحقق التابع match?‎ ما إذا كان التعبير النمطي المعطى قد تطابق (matched) أم لا دون تحديث المتغير ‎$~‎ والمتغيرات الأخرى ذات الصلة. في حال إعطاء الوسيط الثاني، فسيحدد موضع بدء البحث والمطابقة في السلسلة النصية المعطاة. البنية العامة match?(str) → true or false match?(str,pos)→ true or false‎ المعاملات str‎ سلسلة نصية يراد التحقق من مطابقتها مع التعبير النمطي المعطى. pos‎ موضع بدء البحث والمطابقة. القيمة المعادة تعاد القيمة true أو القيمة false بحسب ما إذا كان التعبير النمطي المعطى قد تطابق أم ...

التابع Regexp.new‎ في روبي

ينشئ التابع new تعبيرًا نمطيًّا جديدًا من النمط المُمرَّر إليه، والذي يمكن أن يكون إما سلسلة نصية أو كائنًا من النوع Regexp (وفي هذه الحالة يتم نشر خيارات التعبير النمطي)؛ وقد لا يتم تحديد الخيارات الجديدة (منذ روبي 1.8). البنية العامة new(string, [options]) → regexp new(regexp)→ regexp compile(string, [options])→ regexp compile(regexp) → regexp‎ المعاملات string‎ سلسلة نصية. options‎ الخيارات التي تتحكم بالتعبير النمطي. إن كان المعامل options عددًا صحيحًا، فيجب أن يساوي واحدًا أو أكثر من الثوابت التالية: Regexp::EXTENDED أو Regexp::IGNORECASE أو Regexp::MULTILINE، ...

التابع Marshal.dump‎ في روبي

يُسلسل (Serializes) التابع dump الكائن المعطى وجميع الكائنات المنحدرة منه (descendant objects). في حال تمرير كائن من النوع IO، فستُكتب البيانات المُسَلسلة فيه، وإلا فستُعاد البيانات كسلسلة نصية. البنية العامة dump( obj [, anIO] , limit=-1 ) → anIO‎ في حال تمرير المعامل limit، فسيقتصر التابع dump على سَلسَلة الكائنات الفرعية حتى العمق المحدد. إذا كان limit سالبًا، لن يكون هناك أي تحقق من للعمق. لا يمكن للتابع Marshal تفريغ (dump) الكائنات التالية: الوحدات أو الأصناف المجهولة (anonymous Class/Module). الكائنات المرتبطة بالنظام (مثل ...

الصنف Regexp في روبي

تمثل كائنات الصنف Regexp التعابير النمطية التي تُستخدم لمطابقة نمط (pattern) معيّن في سلسلة نصية. تُنشَأ التعابير النمطية باستخدام الصياغتين /.../ و ‎%r{...}‎، أو باستعمال الباني new. التعابير النمطية هي أنماط تصف محتويات السلسلة النصية. يمكن استخدامها للتحقق من أنّ سلسلة نصية تحتوي على نمط معين، أو لاستخراج الأجزاء المُطابقة منها. عادةً ما يتم تحديد التعبير النمطي بخط مائل (/) كما يوضح المثال التالي: /hay/ =~ 'haystack' #=> 0 /y/.match('haystack') #=> #<MatchData "y"> ‎ إذا احتوت سلسلة نصية على النمط، فسيقال ...

المعامل [] الخاص بالصنف String في روبي

يبدِّل المعامل [] عند استدعائه بالشكل ‎[]=‎‎ سلسلةً نصيةً محدَّدةً مكان جزءٍ محدَّد أو كامل محتوى سلسلة نصية أخرى. البنية العامة str[integer] = new_str str[integer, integer] = new_str str[range] = aString str[regexp] = new_str str[regexp, integer] = new_str str[regexp, name] = new_str str[other_str] = new_str يحدَّد الجزء المراد تبديله من السلسلة النصية str بالطريقة نفسها المذكورة في المعامل []. إن كان طول السلسلة النصية المعطاة لا يطابق طول السلسلة النصية (أو الجزء المحدّد) المراد تبديله، فستُعدَّل السلسلة النصية المعطاة تلك وفقًا لذلك. إن كان التعبير النمطي أو ...

التابع !String.slice في روبي

يقتطع التابع !slice محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه. في الحالات الثلاث السابقة، إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع المحرف بدءًا من نهاية السلسلة، إذ تمثل القيمة ‎-1 فهرس المحرف الأخير. بالنسبة للحالتين الثانية والثالثة، فهرس البداية يُحسب قبل محرف واحد والفهرس يطابق حجم السلسلة. عند تمرير تعبير نمطي (Regexp) إلى التابع slice، يعيد التابع الجزء المطابق من السلسلة. إذا أُلحق التعبير النمطي بمُعامل التقاط ...

التابع String.slice في روبي

يجلب التابع slice محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه. في الحالات الثلاث السابقة، إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع المحرف بدءًا من نهاية السلسلة، إذ تمثل القيمة ‎-1 فهرس المحرف الأخير. بالنسبة للحالتين الثانية والثالثة، فهرس البداية يُحسب قبل محرف واحد والفهرس يطابق حجم السلسلة. عند تمرير تعبير نمطي (Regexp) إلى التابع slice، يعيد التابع الجزء المطابق من السلسلة. إذا أُلحق التعبير النمطي بمُعامل التقاط ...

المعامل [] الخاص بالصنف String في روبي

يجلب المعامل [] محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه. في الحالات الثلاث السابقة، إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع المحرف بدءًا من نهاية السلسلة، إذ تمثل القيمة ‎-1 فهرس المحرف الأخير. بالنسبة للحالتين الثانية والثالثة، فهرس البداية يُحسب قبل محرف واحد والفهرس يطابق حجم السلسلة. عند تمرير تعبير نمطي (Regexp) إلى المعامل []، يعيد الجزء المطابق من السلسلة. إذا أُلحق التعبير النمطي بمُعامل التقاط (capture)، ...

Ruby/Topics

تثبيت روبي توجد طرائق عدَّة لتنزيل وتثبيت روبي على كل منصة وهي: إمَّا استعمال أنظمة مدير الحزم، أو باستعمال المثبِّتات التلقائية، أو باستعمال مدراء روبي. هنالك طريقة أخرى يمكنك بالتأكيد استعمالها لتثبيت روبي وتصريف شيفراتها وهي بنائها من الشيفرة المصدرية مباشرةً. حول روبي يوفر هذا القسم لمحة سريعة عن لغة روبي ونشأتها، وتطورها، ومزاياها التي انفردت بها عن اللغات الأخرى، والتنفيذات المختلفة التي تملكها. البنية العامة بنية اللغة تعد روبي مزيجًا من اللغات البرمجية التالية: Perl، و Smalltalk، و Eiffel، ...

التابع MatchData.captures‎ في روبي

يعيد التابع captures مصفوفة الأجزاء المُطابقة (array of captures)؛ يكافئ mtch.to_a[1..-1]‎. البنية العامة captures→ array‎ القيمة المعادة تعاد مصفوفة الأجزاء المُطابقة. أمثلة مثال على استخدام التابع captures‎: f1,f2,f3,f4 = /(.)(.)(\d+)(\d)/.match("THX1138.").captures f1 #=> "H" f2 #=> "X" f3 #=> "113" f4 #=> "8"‎ انظر أيضا التابع begin: يعيد موضع (offset) بداية العنصر n من مصفوفة التطابق في السلسلة النصية. التابع end: يعيد موضع (offset) الحرف الذي يلي نهاية العنصر n من مصفوفة التطابق في السلسلة النصية. مصادر ...

التابع MatchData.names‎ في روبي

يعيد التابع names قائمة بأسماء الأجزاء المُلتقِطَة (captures) في التعبير النمطي. يشبه التابع names التابع mtch.regexp.names. البنية العامة names→ [name1, name2, ...]‎ القيمة المعادة تعاد مصفوفة من السلاسل النصية تحوي أسماء الأجزاء المُلتقِطَة (captures). أمثلة مثال على استخدام التابع names‎: /(?<foo>.)(?<bar>.)(?<baz>.)/.match("hoge").names #=> ["foo", "bar", "baz"] m = /(?<x>.)(?<y>.)?/.match("a") #=> #<MatchData "a" x:"a" y:nil> m.names #=> ["x", "y"]‎ انظر أيضا ...

التابع MatchData.pre_match‎ في روبي

يعيد التابع pre_match الجزء الذي يسبق المطابقة (match) الحالية من السلسلة النصية الأصلية. يكافئ هذا التابع المتغير الخاص `$. البنية العامة pre_match→ str‎ القيمة المعادة يعاد الجزء الذي يسبق المطابقة (match) الحالية من السلسلة النصية الأصلية. أمثلة مثال على استخدام التابع pre_match‎: m = /(.)(.)(\d+)(\d)/.match("THX1138.") m.pre_match #=> "T"‎ انظر أيضا التابع post_match: يعيد الجزء الذي يلي المطابقة (match) الحالية من السلسلة النصية الأصلية. مصادر قسم التابع pre_match‎ في الصنف MatchData‎ في توثيق روبي الرسمي.

التابع MatchData.length‎ في روبي

يعيد التابع length عدد العناصر المتطابقة في مجموعة المُطابقة. البنية العامة length→ integer‎ القيمة المعادة يعاد عدد صحيح يمثِّل عدد العناصر في مجموعة المُطابقة. أمثلة مثال على استخدام التابع length‎: m = /(.)(.)(\d+)(\d)/.match("THX1138.") m.length #=> 5 m.size #=> 5‎ انظر أيضا التابع inspect: يعيد نسخة قابلة للطباعة من الكائن الذي استدعي معه. مصادر قسم التابع length‎ في الصنف MatchData‎ في توثيق روبي الرسمي.

التابع MatchData.values_at‎ في روبي

يستخدم التابع values_at الفهارس المُمرَّرة إليه للوصول إلى قيم العناصر المُتطابقة ثم يعيدها. البنية العامة values_at([index]*)→ array‎ المعاملات index‎ يمثل فهرس العنصر المتطابق في مصفوفة المطابقات. القيمة المعادة تعاد قيمة العناصر المتطابقة المحددة بالفهارس index‎ المعطاة. أمثلة مثال على استخدام التابع values_at‎: m = /(.)(.)(\d+)(\d)/.match("THX1138: The Movie") m.to_a #=> ["HX1138", "H", "X", "113", "8"] m.values_at(0, 2, -2) #=> ["HX1138", "X", "113"] m = /(?<a>\d+) *(?<op>[+\-*\/]) *(?<b>\d+)/.match("1 + 2") m.to_a ...

التابع MatchData.end‎ في روبي

يعيد التابع end موضع (offset) الحرف الذي يلي نهاية العنصر n من مصفوفة التطابق في السلسلة النصية. البنية العامة end(n)→ integer‎ المعاملات n‎ يحدد رقم عنصر من مصفوفة التطابق في السلسلة النصية. يمكن أن يكون سلسلة نصية أو رمزًا للإشارة إلى جزء مُطابق (capture) معيّن القيمة المعادة يعاد موضع (offset) الحرف الذي يلي نهاية العنصر n من مصفوفة التطابق في السلسلة النصية. أمثلة مثال على استخدام التابع end‎: m = /(.)(.)(\d+)(\d)/.match("THX1138.") m.end(0) #=> 7 m.end(2) ...

التابع MatchData.regexp‎ في روبي

يعيد التابع regexp التعبير النمطي (regexp) الذي استُعمِل في عملية المطابقة. البنية العامة regexp→ regexp‎ القيمة المعادة يعاد كائن من النوع Regexp يمثِّل التعبير النمطي الذي استعمِل في عملية المطابقة. أمثلة مثال على استخدام التابع regexp‎: m = /a.*b/.match("abc") m.regexp #=> /a.*b/‎ انظر أيضا التابع pre_match: يعيد الجزء الذي يسبق المطابقة (match) الحالية من السلسلة النصية الأصلية. مصادر قسم التابع regexp‎ في الصنف MatchData‎ في توثيق روبي الرسمي.

التابع MatchData.string‎ في روبي

يعيد التابع string نسخةً مُجمدةً من السلسلة النصية التي تم تمريرها إلى التابع match لمطابقتها مع تعبير نمطي. البنية العامة string→ str‎ القيمة المعادة تعاد سلسلة نصية تمثِّل نسخةُ مُجمدةُ من السلسلة النصية التي تم تمريرها إلى التابع match. أمثلة مثال على استخدام التابع string‎: m = /(.)(.)(\d+)(\d)/.match("THX1138.") m.string #=> "THX1138."‎ انظر أيضا التابع size: يعيد عدد العناصر في مصفوفة المطابقة. التابع to_a: يعيد مصفوفة المطابقات. مصادر قسم التابع string‎ في الصنف MatchData‎ في توثيق روبي الرسمي.

التابع MatchData.offset‎ في روبي

يعيد التابع offset مصفوفة بعنصرين تحوي موضعي (مقدار إزاحة [offsets]) البداية والنهاية للمطابقة n. البنية العامة offset(n)→ array‎ المعاملات n‎ رقم المطابقة. المعامل n يمكن أن يكون سلسلةً نصيةً أو رمزًا للإشارة إلى مطابقة (capture) معينة. القيمة المعادة تعاد مصفوفة بعنصرين تحوي موضعي (offsets) البداية والنهاية للمطابقة ذات الرقم n. أمثلة مثال على استخدام التابع offset‎: m = /(.)(.)(\d+)(\d)/.match("THX1138.") m.offset(0) #=> [1, 7] m.offset(4) #=> [6, 7] m = /(?<foo>.)(.)(?<bar>.)/.match("hoge") p m.offset(:foo) #=> [0, 1] p ...

التابع MatchData.to_a‎ في روبي

يعيد التابع to_a مصفوفة المطابقات. البنية العامة to_a→ anArray‎ القيمة المعادة يعيد التابع to_a مصفوفة المطابقات. أمثلة مثال على استخدام التابع to_a‎: m = /(.)(.)(\d+)(\d)/.match("THX1138.") m.to_a #=> ["HX1138", "H", "X", "113", "8"]‎ لأنّ التابع to_a يُستدعى عند توسيع المتغير ‎*، هناك شكل مختصر ومفيد لعملية الإسناد (assignment) لأجل استخلاص الحقول المُطابقة. هذا الاختصار أبطأ قليلًا من الوصول المباشر إلى الحقول (بسبب إنشاء مصفوفة انتقالية). يشرح المثال التالي ذلك: all,f1,f2,f3 = * /(.)(.)(\d+)(\d)/.match("THX1138.") all #=> "HX1138" f1 #=> "H" f2 ...

التابع MatchData.named_captures‎ في روبي

يعيد التابع named_captures الجدول Hash الذي يحوي العناصر المتطابقة وجزء التعبير النمطي الذي طابقها من التعبير النمطي الكلي. مفاتيح (keys) الجدول Hash هي أسماء الأجزاء المطابقة المعينة (التعبير النمطي المطابق)، والقيمة المقابلة فيه هي سلاسل نصية تمثل آخر جزء متطابق ناجح للمجموعة المقابلة لذلك التعبير النمطي. البنية العامة named_captures → hash‎ القيمة المعادة يعاد الجدول Hash الذي يحوي العناصر المتطابقة وجزء التعبير النمطي الذي طابقها من التعبير النمطي الكلي. أمثلة مثال على استخدام التابع named_captures‎: m = /(?<a>.)(?<b>.)/.match("01") m.named_captures #=> {"a" => ...

التابع MatchData.to_s‎ في روبي

يعيد التابع to_s كامل السلسلة النصية المُطابقة. البنية العامة to_s→ str‎ القيمة المعادة تعاد كامل السلسلة النصية المُطابقة. أمثلة مثال على استخدام التابع to_s‎: m = /(.)(.)(\d+)(\d)/.match("THX1138.") m.to_s #=> "HX1138"‎ انظر أيضا التابع string: يعيد نسخةً مُجمدةً من السلسلة النصية التي تم تمريرها إلى التابع match لمطابقتها مع تعبير نمطي. التابع to_a: يعيد مصفوفة المطابقات. مصادر قسم التابع to_s‎ في الصنف MatchData‎ في توثيق روبي الرسمي.

التابع MatchData.post_match‎ في روبي

يعيد التابع post_match الجزء الذي يلي المطابقة (match) الحالية من السلسلة النصية الأصلية. يكافئ هذا التابع المتغير الخاص '$. البنية العامة post_match→ str‎ القيمة المعادة يعاد الجزء الذي يلي المطابقة (match) الحالية من السلسلة النصية الأصلية. أمثلة مثال على استخدام التابع post_match‎: m = /(.)(.)(\d+)(\d)/.match("THX1138: The Movie") m.post_match #=> ": The Movie"‎ انظر أيضا التابع pre_match: يعيد الجزء الذي يسبق المطابقة (match) الحالية من السلسلة النصية الأصلية. مصادر قسم التابع post_match‎ في الصنف MatchData‎ في توثيق روبي الرسمي.

التابع MatchData.size‎ في روبي

يعيد التابع size عدد العناصر في مصفوفة المطابقة. البنية العامة size → integer‎ القيمة المعادة يعاد عدد صحيح يمثِّل عدد العناصر في مصفوفة المطابقة. أمثلة مثال على استخدام التابع size‎: m = /(.)(.)(\d+)(\d)/.match("THX1138.") m.length #=> 5 m.size #=> 5‎ انظر أيضا التابع regexp: يعيد التعبير النمطي (regexp) الذي استُعمِل في عملية المطابقة. التابع string: يعيد نسخةً مُجمدةً من السلسلة النصية التي تم تمريرها إلى التابع match لمطابقتها مع تعبير نمطي. مصادر قسم التابع size‎ في الصنف MatchData‎ في ...

التابع MatchData.begin‎ في روبي

يعيد التابع begin موضع (مقدار إزاحة [offset]) بداية العنصر n من مصفوفة التطابق في السلسلة النصية. البنية العامة begin(n)→ integer‎ المعاملات n‎ يحدد رقم عنصر من مصفوفة العناصر المتطابقة في السلسلة النصية. يمكن أن يكون سلسلةً نصيةً أو رمزًا للإشارة إلى جزء مُطابق (capture) معيّن. القيمة المعادة يعيد التابع begin موضع بداية العنصر رقم n من مصفوفة التطابق في السلسلة النصية. أمثلة مثال على استخدام التابع begin‎: m = /(.)(.)(\d+)(\d)/.match("THX1138.") m.begin(0) #=> 1 m.begin(2) ...

التحسينات في روبي

إن ميّزة الأصناف المفتوحة في لغة روبي تسمح لك بإعادة تعريف أو إضافة وظائف إلى أصناف معرّفة مسبقًا. وهذا ما يسمى بمصطلح "ترقيع القرد" (monkey patch). المشكلة هنا أنَّ تعديلات من هذا النوع تكون مرئيّة على المستوى العام (global)، وبالتالي جميع مستخدمي الصنف المرقّع قادرون على رؤية هذه التغييرات، ممّا قد يسبّب تأثيرات جانبيّة غير محسوبة أو حتى عطب في البرامج. تأتي التحسينات هنا لتقلّل أثر ترقيع القرد على مستخدمي الصنف الآخرين، إذ تقدّم طريقة لتوسيع الصنف محليًّا. وإليك مثال ...

التوابع في روبي

تتضمّن التوابع في لغة روبي الوظائف التي يقوم بها برنامجك. إليك هذا المثال لتعريف تابع بسيط: def one_plus_one  1 + 1 end  تعريف التابع يتكوّن من الكلمة المحجوزة def يتبعها اسم التابع، ثمّ جسم التابع، فالقيمة المعادة وفي النهاية الكلمة المحجوزة end. فعند تنفيذ التابع في المثال السابق، ستُعاد القيمة 2. هذا القسم سيغطّي تعريف التّوابع. ارجع إلى توثيق استدعاء التوابع لتتعرف على الصيغ المستخدمة لذلك الغرض. تسمية التوابع يمكن أن تستخدم لاسم التابع أحد المعاملات، وإلا فعليك أن تبتدئه بحرف أبجديّ أو ...

الإسناد في روبي

لكي نسند شيئًا في لغة روبي، نستخدم رمز المساواة =؛ ففي المثال التّالي، يُسنَد العدد 5 إلى المتغيّر v المحلّي: v = 5 فالإسناد يُنشئ متغيّرًا محلّيًا جديدًا إذا لم يكن قد عُرِّفَ من قبل. أسماء المتغيرات المحلية اسم المتغيّر المحلّي يجب أن يبدأ بحرف صغير من مجموعة المحارف US-ASCII أو من مجموعة المحارف التي تُمثَّل باستخدام ثمان بتات ثنائيّة. وبشكلٍ عام، فإنّ أسماء المتغيّرات المحلّية متوافقة مع US-ASCII كون الأزرار التي تستخدم لكتابتها موجودة في جميع لوحات المفاتيح. عمومًا، جميع ...

تثبيت روبي على مختلف المنصات

توجد عدة طرق لتنزيل وتثبيت روبي على كل منصة وهي: في لينكس (والأنظمة الشبيه بيونكس)، تستطيع استعمال نظام مدير الحزم لتوزيعتك (الطريقة الأسهل) أو أية أداة من طرف ثالث (مثل rbenv و RVM). على أي حال، إصدار روبي المثبت عن طريق نظام مدير الحزم قد لا يكون هو الإصدار الأحدث، لذا انتبه لهذا الأمر. في macOS، يمكنك استعمال مدير الحزم أو أداة من طرف ثالث (مثل rbenv و RVM). في ويندوز، تستطيع استخدام RubyInstaller. يمكنك باستعمال المثبِّت هذا تثبيت إصدار ...

معلومات إضافية عن روبي

هل تساءلت يومًا لماذا روبي مشهورة إلى هذا الحد؟ يقول المعجبون بها أنَّها لغة جميلة وذات بنية متقنة. ويقولون أيضًا أنَّها لغة عملية وسهلة الاستعمال. فماذا تعطي وبماذا تتمتع؟ مثالية منشئ لغة روبي حققت لغة روبي توازنًا دقيقًا بين لغات البرمجة. عمل منشئ هذا اللغة - الياباني Yukihiro “Matz” Matsumoto - على دمج أجزاءٍ من لغات البرمجة المفضلة لديه (Perl، و Smalltalk، و Eiffel، و Ada، و Lisp) لإنشاء لغة جديدة تحقق التوازن بين البرمجة الوظيفية (functional programming) والبرمجة الأمرية ...

التابع Object.instance_variable_set في روبي

يُعيِّن التابع instance_variable_set قيمة متغيِّر نسخةٍ (instance variable) محدِّدٍ إلى قيمة معيَّنة في الكائن المُعطى؛ هذا يؤدي إلى إحباط جهود منشئ الصنف في محاولة توفير التغليف (encapsulation) المناسب. ليس من الضروري أن يتواجد المتغيِّر قبل استدعاء هذا التابع. إذا مُرِّر اسم متغيِّر النسخة بشكل سلسلةٍ نصيةٍ (string)، فستُحوَّل تلك السلسلة إلى رمز. البنية العامة instance_variable_set(symbol, obj) → obj instance_variable_set(string, obj) → obj المعاملات symbol الرمزُ الذي يشير إلى اسم متغيِّر النسخة المراد تعيين قيمة المعامل obj إليه في الكائن المُعطى. string ...

التابع String.sub في روبي

يعيد التابع sub نسخة من السلسلة النصية التي استدعي معها مع تبديل قيمة محدَّدة مع أول تطابق للنمط المعطى. البنية العامة sub(pattern, replacement) → new_str sub(pattern, hash) → new_str sub(pattern) {|match| block } → new_str إن أعطيت كتلة block إلى التابع، فستُمرَّر السلسلة الحالية المتطابقة إليها وستعيَّن قيم متغيرات مثل ‎$1، و ‎$2، و ‎$`‎، و ‎$&‎، و ‎$'‎ بشكل مناسب. ستحل القيم التي تعيدها الكتلة مكان القيمة المتطابقة في كل استدعاء. المعاملات pattern يكون عادةً تعبيرًا نمطيًّا. إن كان سلسلة نصية، فستُفسَّر أية محارف ...

التابع Numeric.arg‎ في روبي

يعيد التابع arg القيمة 0 إن كان العدد الذي استُدعي معه موجبًا، أو القيمة pi خلاف ذلك. البنية العامة arg → 0 or float‎ القيمة المُعادة تعاد القيمة 0 إن كانت القيمة المعطاة موجبة، أو pi خلاف ذلك. انظر أيضا التابع angle: يعيد القيمة 0 إن كان العدد الذي استُدعي معه موجبًا، أو القيمة pi خلاف ذلك. التابع ceil: يعيد أصغر عدد أكبر من أو يساوي العدد المعطى وبدقة محدَّدة. مصادر قسم التابع arg‎ في الصنف Numeric‎ في توثيق روبي الرسمي.

التابع Thread.keys‎ في روبي

يُعيد التابع keys مصفوفة من أسماء المتغيرات محلية الليف (fiber-local variables) على هيئة رموز. البنية العامة keys→ array‎ القيمة المعادة تعاد مصفوفة من أسماء المتغيرات محلية الليف. أمثلة مثال على استخدام التابع keys‎: thr = Thread.new do Thread.current[:cat] = 'meow' Thread.current["dog"] = 'woof' end thr.join #=> #<Thread:0x401b3f10 dead> thr.keys #=> [:dog, :cat]‎ انظر أيضًا التابع key?‎: يتحقق إن كانت السلسلة النصية أو الرمز المعطى موجود على هيئة متغير محلي الليف (fiber-local variable). مصادر قسم التابع keys‎ في الصنف Thread‎ ...

التابع Array.sort!‎ في روبي

يرتب التابع sort!‎ عناصر المصفوفة التي استُدعيت معه. ستجرى عملية الموازنة بين عناصر المصفوفة المراد ترتيبها باستعمال المعامل <=> أو باستعمال كتلة برمجية محددة. إن استعملت الكتلة البرمجية block في ترتيب العناصر، فيجب أن تجري موازنة بين العنصر a والعنصر b وتعيد عددًا سالبًا إن كان b أكبر من a، أو العدد 0 إن كانا متساويين، أو عددًا موجبًا إن كان b أصغر من a. مع ذلك، لن تكون النتيجة مضمونة مئة بالمئة، إذ لا يمكن التنبؤ بترتيب العناصر المتساوية ...

التابع =Process.uid في روبي

يضبط التابع uid عند استدعائه بالشكل uid= user المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية إلى القيمة user. هذا التابع غير متاح على جميع المنصات. البنية العامة uid= user → numeric القيم المعادة تعاد القيمة user بعد تعيينها إلى المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية. أمثلة مثال على استعمال التابع uid: Process.setproctitle('myapp: worker #%d' % worker_id) انظر أيضًا التابع uid: يعيد المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية. التابع gid=‎: يضبط عند استدعائه بالشكل gid= integer مُعرِّف المجموعة المالكة للعملية الحالية إلى القيمة ...

التابع ARGF.inspect()‎ في روبي

يعد التابع inspect()‎ اسمًا بديلًا للتابع to_s. انظر أيضًا التابع to_s: يعيد القيمة "ARGF". مصادر قسم التابع ARGF.inspect()‎ في الصنف ARGF في توثيق روبي الرسمي.

الصنف Data في روبي

الصنف Data هو صنف مهمل. كان يعدُّ الصنف الأساس لملحقات C التي تستعمل Data_Make_Struct أو Data_Wrap_Struct. مصادر صفحة الصنف Data في توثيق روبي الرسمي.

التابع InstructionSequence.of‎ في روبي

يُعيد التابع of سلسلة التعليمات التي تحوي الكائن Proc أو Method المعطى. البنية العامة of(p1) أمثلة مثال على استعمال التابع of باستخدام irb: # a proc > p = proc { num = 1 + 2 } > RubyVM::InstructionSequence.of(p) > #=> <RubyVM::InstructionSequence:block in irb_binding@(irb)> # for a method > def foo(bar); puts bar; end > RubyVM::InstructionSequence.of(method(:foo)) > #=> <RubyVM::InstructionSequence:foo@(irb)>‎ أو باستخدام compile_file: # /tmp/iseq_of.rb def hello puts "hello, world" end $a_global_proc = proc { str = 'a' + 'b' } # in irb > require '/tmp/iseq_of.rb' # first the method hello > RubyVM::InstructionSequence.of(method(:hello)) > #=> ...

عرض (50 السابقة | 50 التالية) (20 | 50 | 100 | 250 | 500).