نتائج البحث

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

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

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

الكائن RegExp في JavaScript

الكائن RegExp هو دالةٌ بانيةٌ تُنشِئ تعابير نمطيةً (regular expressions) لمُطابَقة النص مع نمط. البنية العامة يمكن أن تأخذ التعابير النمطية الشكل الآتي (الشكل المختصر، ثم الدالة البانية، ثم الدالة RegExp): /pattern/flags new RegExp(pattern[, flags]) RegExp(pattern[, flags]) pattern التعبير النمطي. flags إذا حُدِّدَت قيمة هذا الوسيط، فستحتوي على تجميعة من الرايات الآتية. g المطابقة في كامل السلسلة النصية، أي العثور على جميع المطابقات بدل التوقف عند أوّل مطابقة. i تجاهل حالة الأحرف. m تعدد الأسطر، أي معاملة محرف البداية والنهاية (أي ^ ...

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

يعد المعامل === معامل تساوي الحالة (Case Equality)، إذ يتحقق من تطابق تعبير نمطي مع سلسلة نصية. ويُستخدم أيضًا في العبارات case. وضع تعبير نمطي حرفي (regular expression literal) عقِب المعامل === يسمح لك بمقارنته مع سلسلة نصية. البنية العامة rxp === str→ true or false‎ القيمة المعادة تعاد القيمة true إن تطابق التعبير النمطي rxp مع السلسلة النصية أو تعاد القيمة false خلاف ذلك. أمثلة مثال على استخدام المعامل ===‎: a = "HELLO" case a when /\A[a-z]*\z/; print "Lower case\n" when /\A[A-Z]*\z/; ...

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

يتحقق المعامل == من تساوي تعبيران نمطيان. تتحقق عملية التساوي من كون نمطاهما (patterns) متطابقين، وكان لهما نفس رمز مجموعة الحروف (character set code)، وكانت لهما نفس القيمة casefold?‎. البنية العامة rxp == other_rxp→ true or false‎ القيمة المعادة تُعاد القيمة true في حال كان التعبيران النمطيان متساويان، وإلا فستُعاد القيمة false. أمثلة مثال على استخدام المعامل ==‎: /abc/ == /abc/x #=> false /abc/ == /abc/i #=> false /abc/ == /abc/u #=> false /abc/u ...

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

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

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

يبحث المعامل ‎=~‎ عن تطابق تعبير نمطي ضمن سلسلة نصية. البنية العامة rxp =~ str → integer or nil‎ إذا تم استخدام المعامل ‎=~‎ مع تعبير نمطي حرفي له التقاطات مسماة (named captures)، فسيتم تعيين السلاسل الملتقطة (أو القيمة nil) في متغيرات محلية تحمل نفس أسماء الالتقاطات: /(?<lhs>\w+)\s*=\s*(?<rhs>\w+)/ =~ " x = y " p lhs #=> "x" p rhs #=> "y" إذا لم تكن هناك مطابقة، ستُعطى لتلك المتغيرات القيمة nil: /(?<lhs>\w+)\s*=\s*(?<rhs>\w+)/ =~ " ...

التابع 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، ...

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

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

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

يُعيد التابع union كائنًا من النوع Regexp، والذي يمثل اتحاد الأنماط المعطاة؛ أي أنه سيتطابق مع أي من تلك الأجزاء. يمكن أن تكون الأنماط المعطاة كائنات من النوع Regexp، وفي هذه الحالة سيتم الاحتفاظ بخياراتها، أو يمكن أن تكون سلاسل نصية. إذا لم يتم إعطاء أية أنماط، فسيعيد التابع union القيمة /(‎?!‎)/. السلوك سيكون غير محدد إذا احتوى أيُّ من الأنماط المعطاة على التقاط (capture). ملاحظة: ستحاول روبي تحويل المعاملات المُمررة للتابع union إلى تعبيرات نمطية حرفية ( regular expression literal) عبر التابع ...

الثابتة IGNORECASE الخاصة بالصنف Regexp في روبي

انظر صفحتي التابعين options و new. مصادر قسم الثابتة IGNORECASE في الصنف Regexp‎ في توثيق روبي الرسمي.

الثابتة NOENCODING الخاصة بالصنف Regexp في روبي

انظر صفحتي التابعين options و new. مصادر قسم الثابتة NOENCODING في الصنف Regexp‎ في توثيق روبي الرسمي.

الثابتة EXTENDED الخاصة بالصنف Regexp في روبي

انظر صفحتي التابعين options و new. مصادر قسم الثابتة EXTENDED في الصنف Regexp‎ في توثيق روبي الرسمي.

الثابتة MULTILINE الخاصة بالصنف Regexp في روبي

انظر صفحتي التابعين options و new. مصادر قسم الثابتة MULTILINE في الصنف Regexp‎ في توثيق روبي الرسمي.

الثابتة FIXEDENCODING الخاصة بالصنف Regexp في روبي

انظر صفحتي التابعين options و new. مصادر قسم الثابتة FIXEDENCODING في الصنف Regexp‎ في توثيق روبي الرسمي.

المعامل [] الخاص بالصنف 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 بالطريقة نفسها المذكورة في المعامل []. إن كان طول السلسلة النصية المعطاة لا يطابق طول السلسلة النصية (أو الجزء المحدّد) المراد تبديله، فستُعدَّل السلسلة النصية المعطاة تلك وفقًا لذلك. إن كان التعبير النمطي أو ...

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

يُحاول التابع try_convert تحويل الكائن المُمرَّر إليه إلى كائن من النوع Regexp باستخدام التابع to_regexp ثم يعيد التعبير النمطي الناتج، أو القيمة nil في حالة تعذر التحويل لأي سبب. البنية العامة try_convert(obj) → re or nil‎ المعاملات obj‎ الكائن المراد تحويله. القيمة المعادة يعاد كائنٌ من النوع Regexp ناتج عن تحويل الكائن obj. أمثلة مثال على استخدام التابع try_convert‎: Regexp.try_convert(/re/) #=> /re/ Regexp.try_convert("re") #=> nil o = ...

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

يُعيد التابع options مجموعة البتات (bits) المقابلة للخيارات المستخدمة عند إنشاء التعبير النمطي الذي استُدعي معه (انظر صفحة التابع new لمزيد من التفاصيل). لاحظ أنه قد يتم وضع بتات إضافية في الخيارات المُعادة التي تُستخدَم داخليًا بواسطة التعبير النمطي. يتم تجاهل هذه البتات الإضافية إذا تم تمرير الخيارات إلى new. البنية العامة options→ integer‎ القيمة المعادة يعاد عدد صحيح يمثِّل مجموعة البتات (bits) المقابلة للخيارات المستخدمة عند إنشاء التعبير النمطي المعطى. أمثلة مثال على استخدام التابع options‎: Regexp::IGNORECASE ...

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

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

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

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

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

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

المعامل ~= الخاص بالصنف String في روبي

يطابق المعامل ~= الكائن المُعطى مع سلسلة نصية. إذا كان الكائن عبارة عن تعبير نمطي (Regexp)، فإن المعامل يستعمله كنمط لمطابقة السلسلة النصية، ثم يعيد فهرس أول تطابق يعثر عليه، أو يعيد القيمة nil فى حال عدم وجود تطابق. عدا ذلك، فإنَّ المعامل يستدعي الكائن المعطى، ويمرر السلسلة النصية إليه كمعامل. ملاحظة: الصيغة str =~ regexp ليست مثل regexp =~ str، حيث تُعين السلاسل الملتقطة من مجموعات الالتقاط المسماة إلى المتغيرات المحلية فى الحالة الثانية فقط. البنية العامة str =~ ...

 التابع Dir.glob في روبي

يوسّع التابع glob الوسيطَ pattern الممرّر (انظر فقرة البنية العامة)، الذي هو سلسلة نصية نمطية (pattern string) أو مصفوفة من السلاسل النصية النمطية، ويعيد مصفوفة تحتوي أسماء الملفات المُطابقة لذلك النمط. في حال تم إعطاء كتلة (block)، فسيستدعي التابع glob الكتلة مرة واحدة على كل اسم ملف مطابق، إذ سيمرّر اسم الملف كوسيط إلى الكتلة. يحدِّد الوسيط base الاختياري المجلد الأساسي (base directory) لتفسير أسماء المسارات النسبية بدلاً من مجلد العمل الحالي. وبما أنّ النتائج لا تكون مسبوقة باسم المجلد ...

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

الصنف MatchData هو نوع المتغير الخاص ‎$~‎ ، كما أنه نوع الكائنات المُعادة من Regexp.match و Regexp.last_match. فهو يغلف ويستوعب جميع نتائج التطابق مع تعبير نمطي. يمكن الوصول إلى النتائج من خلال المتغيرات الخاصة ‎$&‎ و ‎$'‎ و $ و ‎$`‎ و ‎$1 و ‎$2 وهكذا دواليك. توابع الصنف العامة (Public Class Methods) == يتحقق المعامل == من تطابق كائنان من النوع matchdata إذا كانت السلاسل النصية المستهدفة منهما، والأنماط ومواضع المُطابقة متماثلة. [] تتصرف الكائنات MatchData كمصفوفة، لذا يمكن الوصول إليها باستخدام تقنيات ...

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

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

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

يبحث التابع partition عن تطابق نص أو نمط محدد ضمن السلسلة النصية التي استدعي معها. فإذا عثر التابع على تطابق، فإنه يعيد مصفوفة تحوي الجزء الذي يسبقه، والجزء المتطابق، والجزء الذي يليه على التوالي. إذا لم يعثر التابع على تطابق؛، فإنه يعيد مصفوفة من السلسلة النصية المعطاة وسلسلتين فارغتين بعدها على التوالي. البنية العامة partition(sep) → [head, sep, tail] partition(regexp) → [head, match, tail] المعاملات sep السلسلة النصية المُراد البحث عن تطابق لها ضمن السلسلة النصية المُعطاة. regexp التعبير النمطي المراد ...

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

يبحث التابع rpartition عن تطابق نص أو نمط محدد بدءًا من نهاية السلسلة النصية ثم يعيد، إذا عثر التابع على تطابق، مصفوفةً من الجزء الذي يسبقه، والجزء المطابق، والجزء الذي يليه على التوالي. إذا لم يعثر التابع على تطابق، فإنَّه يعيد مصفوفة من سلسلتين فارغتين والسلسلة النصية المعطاة بعدهما على التوالي. البنية العامة rpartition(sep) → [head, sep, tail] rpartition(regexp) → [head, match, tail] المعاملات sep السلسلة النصية المُراد البحث عن تطابق لها ضمن السلسلة النصية المُعطاة. regexp التعبير النمطي المراد البحث ...

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

يبحث التابع index عن سلسلة أو نمط مُحدد ضمن السلسلة النصية التي استدعيت معها، ثم يُعيد فهرس أول تطابق يعثر عليه. في حال عدم العثور على أي تطابق، فسيعيد التابع القيمة nil. يمكن تحديد موضع بدء البحث في السلسلة النصية المعطاة عبر تمرير فهرس المحرف الذي يراد بدء البحث عنه. البنية العامة index(substring [, offset]) → integer or nil index(regexp [, offset]) → integer or nil المعاملات substring السلسلة المُراد البحث عنها ضمن السلسلة النصية المُعطاة. regexp التعبير النمطي المُراد البحث ...

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

يبحث التابع rindex عن سلسلة أو نمط مُحدد ضمن السلسلة النصية التي استدعي معها، ثم يُعيد فهرس آخر تطابق يعثر عليه. في حال عدم العثور على أي تطابق، فإن التابع يُعيد القيمة nil. يمكن تحديد موضع نهاية البحث في السلسلة النصية باستعمال المعامل الثاني (المعامل offset). البنية العامة rindex(substring [, integer]) → integer or nil rindex(regexp [, integer]) → integer or nil المعاملات substring السلسلة المُراد البحث عنها ضمن السلسلة النصية المُعطاة. regexp التعبير النمطي المُراد مطابقته والبحث عنه ضمن السلسلة ...

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

اسم بديل للتابع new. البنية العامة compile(*args) القيمة المعادة يعاد كائنٌ جديدٌ من النوع Regexp. انظر أيضا التابع new: ينشئ تعبيرًا نمطيًّا جديدًا. مصادر قسم التابع compile‎ في الصنف Regexp‎ في توثيق روبي الرسمي.

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

يعيد التابع hash القيمة hash اعتمادًا على السلسلة النصية المستهدفة والتعبير النمطي (regexp) ومواضع المطابقة للكائن matchdata. البنية العامة hash→ integer‎ القيمة المعادة يعاد عدد صحيح يمثِّل القيمة hash. انظر أيضا التابع inspect: يعيد نسخة قابلة للطباعة من mtch. التابع hash: يعيد القيمة hash للكائن الذي استدعي معه. مصادر قسم التابع hash‎ في الصنف MatchData‎ في توثيق روبي الرسمي.

RegExp.prototype.toString()‎

الدالة RegExp.prototype.toString()‎ تُعيد سلسلةً نصيةً تُمثِّل الكائن التعابير النمطية المُحدَّد. البنية العامة regexObj.toString(); القيمة المعادة سلسلة نصيّة تُمثِّل الكائن RegExp. الوصف الكائن RegExp يُعيد تعريف الدالة toString الموجودة في الكائنObject؛ فهو لا يرث الدالة Object.prototype.toString()‎. فلكائنات RegExp ستُعيد الدالة toString تمثيلًا نصيًا لكائن التعبير النمطي. أمثلة استخدام الدالة toString()‎ المثال الآتي يعرض القيمة النصية لكائن RegExp: var myExp = new RegExp('a+b+c'); console.log(myExp.toString()); // '/a+b+c/' var foo = new RegExp('bar', 'g'); console.log(foo.toString()); // '/bar/g' التعابير النمطية الفارغة وتهريب المحارف بدءًا من ECMAScript 5، لم تعد هذه الدالة تُعيد سلسلةً ...

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

يعيد التابع names قائمة بأسماء الأجزاء المُلتقطة (captures) على هيئة مصفوفة من سلاسل نصية. البنية العامة names→ [name1, name2, ...]‎ القيمة المعادة تعاد قائمة بأسماء الأجزاء المُلتقطة (captures) على هيئة مصفوفة من سلاسل نصية. أمثلة مثال على استخدام التابع names‎: /(?<foo>.)(?<bar>.)(?<baz>.)/.names #=> ["foo", "bar", "baz"] /(?<foo>.)(?<foo>.)/.names #=> ["foo"] /(.)(.)/.names #=> []‎ انظر أيضًا التابع named_captures: يُعيد جدول Hash يحتوي معلومات حول الالتقاطات المسماة (named captures) للتعبير النمطي الذي استُدعي معه. التابع options: يُعيد مجموعة البتات (bits) المقابلة للخيارات المستخدمة عند إنشاء الكائن Regexp. مصادر قسم التابع names‎ في ...

String.prototype.search()‎

الدالة String.prototype.search()‎ تبحث عن تعبيرٍ نمطيٍ (regular expression) في سلسلةٍ نصية. البنية العامة str.search(regexp) regexp كائن التعابير النمطية، وإذا مُرِّرَ كائن obj ليس من النوع RegExp، فسيحوَّل إليه ضمنيًا باستخدام الدالة البانية new RegExp(obj)‎. القيمة المعادة فهرس أوّل مطابقة للتعبير النمطي في السلسلة النصية، أو القيمة -1 إن لم تكن هنالك مطابقة. الوصف إذا أردتَ معرفة إن كان النمط موجودًا في السلسلة النصية وما هو فهرسه، فاستخدم الدالة search()‎ (أما إذا أردتَ معرفة إن كان موجودًا فقط فاستخدم الدالة test()‎ ...

RegExp.prototype.[@@replace]()‎

الدالة RegExp.prototype.[@@replace]()‎ تُعيد سلسلةً نصيةً جديدةً فيها بعض أو جميع الأجزاء المُطابَقة عبر النمط this قد استبدلتها السلسلة النصية replacement. لاحظ أنَّ النمط pattern يمكن أن يكون سلسلةً نصيةً أو كائن RegExp، ويمكن أن يكون الوسيط replacement سلسلةً نصيةً أو دالةً التي ستُستدعى لكل مُطابَقة. البنية العامة regexp[Symbol.replace](str, newSubStr|function) str السلسلة النصية التي سنبحث عن مُطابَقة للتعبير النمطي فيها لاستبداله. newSubStr السلسلة النصية String التي ستستبدل السلسلة الفرعية، وهنالك عددٌ من الأنماط الفرعية المدعومة فيها، انظر قسم «تحديد سلسلة نصية كوسيط» في صفحة الدالة String.prototype.replace()‎ للتفاصيل. function الدالة ...

RegExp.prototype.[@@split]()‎

الدالة RegExp.prototype.[@@split]()‎ تقسم كائن String إلى مصفوفة من السلاسل النصية بفصلها إلى سلاسل نصية فرعية. البنية العامة regexp[Symbol.split](str[, limit]) str السلسلة النصية التي نريد قسمها. limit عدد صحيح يضبط الحد الأقصى لعدد الأجزاء التي ستُقسَّم السلسلة النصية إليها. وعند تحديد قيمة لهذا الوسيط، فستُقسِّم هذه الدالة السلسلة النصية عند كل مُطابَقة للتعبير النمطي، لكنها ستتوقف عند بلوغ عدد عناصر المصفوفة القيمة المُحدَّدة بالوسيط limit. لاحظ أنَّ من الممكن أن تكون هنالك عناصر في المصفوفة عددها أقل من قيمة limit. القيمة المعادة مصفوفة من ...

المعامل ~= في الصنف Object‎ في روبي

يتحقّق المعامل ~= من تطابق نمطي كائنين (Pattern Match). استُبدِل في الأصناف السليلة (descendants، خاصةً الصنفين Regexp و String) لتوفير دلالاتِ مطابقةِ نمطٍ واضحةٍ وذات معنى. البنية العامة obj =~ other → nil المعاملات obj الكائن المراد التحقق من تطابق نمطه مع الكائن other. other الكائن الآخر الذي سيُتحقَق من تطابق نمطه مع الكائن obj. القيم المعادة تُعاد القيمة العدمية nil إذا كان لكل كائن من الكائنين obj و ohter نمطًا مختلفًا. انظر أيضًا المعامل ~!: يتحقق من عدم تساوي ...

String.prototype.match()‎

الدالة String.prototype.match()‎ تُعيد ما يُطابِقه تعبيرٌ نمطيٌ (regular expression) في سلسلة نصية. البنية العامة str.match(regexp) regexp كائن التعابير النمطية، وإذا مُرِّرَ كائن obj ليس من النوع RegExp، فسيحوَّل إليه ضمنيًا باستخدام الدالة البانية new RegExp(obj)‎، وإذا لم تُمرِّر أيّ وسيط واستخدمتَ الدالة match مباشرةً، فستحصل على مصفوفة Array فيها سلسلة نصية فارغة (أي [""]). القيمة المعادة إذا كانت هنالك مُطابَقة بين التعبير النمطي والسلسلة النصية، فستُعاد مصفوفة Array تحتوي على كامل السلسلة النصية المُطابَقة كأوّل عنصر فيها، ويليها أيّة نتائج ...

String.prototype.replace()‎

الدالة String.prototype.replace()‎ تُعيد سلسلةً نصيةً جديدةً فيها بعض أو جميع الأجزاء المُطابَقة عبر النمط pattern قد استبدلتها السلسلة النصية replacement. لاحظ أنَّ النمط pattern يمكن أن يكون سلسلةً نصيةً أو كائن RegExp، ويمكن أن يكون الوسيط replacement سلسلةً نصيةً أو دالةً التي ستُستدعى لكل مُطابَقة. لاحظ أنَّ السلسلة النصية الأصلية ستبقى دون تعديل. البنية العامة str.replace(regexp|substr, newSubstr|function) regexp (أي pattern) كائن RegExp الذي ستبدّل الأجزاء المُطابَقة به إلى السلسلة النصية newSubStr أو بالقيمة المعادة من الدالة function. substr (أي pattern) ...

RegExp.prototype.[@@search]()‎

الدالة RegExp.prototype.[@@search]()‎ تبحث عن تعبيرٍ نمطيٍ (regular expression) في سلسلةٍ نصية. البنية العامة regexp[Symbol.search](str) str السلسلة النصية التي سنبحث عن مُطابَقة للتعبير النمطي فيها. القيمة المعادة فهرس أوّل مطابقة للتعبير النمطي في السلسلة النصية، أو القيمة -1 إن لم تكن هنالك مطابقة. الوصف تُستدعى هذه الدالة داخليًا في الدالة String.prototype.search()‎. فمثلًا، كلا المثالين الآتيين يُعيد النتيجة نفسها: 'abc'.search(/a/); /a/[Symbol.search]('abc'); الغرض من وجود هذه الدالة هو السماح بإمكانية تخصيصها في الأصناف الفرعية المشتقة من RegExp. أمثلة استدعاء مباشر ستُستخدَم هذه الدالة بنفس طريقة ...

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

يُعيد التابع last_match إن لم يمرَّر إليه أي شيء كائنًا من النوع MatchData الذي تم إنشاؤه من آخر تطابق (match) ناجح للنمط. وهو مكافئ لقراءة المتغير العام ‎$~‎ (راجع قسم المتغيرات العامة المخصصة في صفحة Regexp لمزيد من التفاصيل). أمَّا إن مرِّر إلى التابع last_match عدد n، فسيعيد المطابقة ذات الرقم n في الكائن MatchData. يمكن أن يكون n عبارة عن سلسلة نصية أو رمزًا للإشارة إلى الالتقاط المسمى (named capture). لاحظ أن last_match هو متغير محلي في مدى (scope) التابع ...

RegExp.prototype.[@@match]()‎

الدالة RegExp.prototype.[@@match]()‎ تُعيد ما يُطابِقه تعبيرٌ نمطيٌ (regular expression) في سلسلة نصية. البنية العامة regexp[Symbol.match](str) str السلسلة النصية التي سنبحث عن مُطابَقة للتعبير النمطي فيها. القيمة المعادة إذا كانت هنالك مُطابَقة بين التعبير النمطي والسلسلة النصية، فستُعاد مصفوفة Array تحتوي على كامل السلسلة النصية المُطابَقة كأوّل عنصر فيها، ويليها أيّة نتائج تمت مُطابَقتها في التعابير النمطية الفرعية الموجودة بين قوسين. وإذا لم تُطابَق أيّة نتائج فستُعاد القيمة null. الوصف تُستدعى هذه الدالة داخليًا في الدالة String.prototype.match()‎. فمثلًا، كلا المثالين الآتيين له يُعيد النتيجة ...

RegExp.prototype.source

الخاصية RegExp.prototype.source تُعيد سلسلةً نصيةً String تحتوي على النص المصدري للتعبير النمطي، لكن دون الخطين المائلين اللذين يحيطان به، ودون أيّة رايات. سمات الخاصية RegExp.prototype.source قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط نعم أمثلة استخدام الخاصية source مثال عن استخدام الخاصية source للحصول على التعبير النمطي المستخدم. لاحظ أنَّ الناتج لا يحتوي على الخطين المائلين ولا على الرايتين "ig": var regex = /fooBar/ig; console.log(regex.source); // "fooBar" التعابير النمطية الفارغة وتهريب المحارف بدءًا من ECMAScript 5، لم تعد الخاصية source تُعيد ...

التابع ‎‎jQuery.type()‎‎ في jQuery

jQuery.type( obj )‎ القيم المعادة يعيد سلسلة نصية (String). الوصف يعيد هذا التابع نوع JavaScript الداخلي للكائن المُمرَّر إليه. jQuery.type( obj )‎ أُضيفت مع الإصدار: 1.4.3 obj أي شيء، ويمثل الكائن المُراد معرفة نوعه الداخلي في JavaScript. يستعمل هذا التابع عددًا من التقنيات لتحديد نوع الكائن الذي سنحصل عليه بدقة، إذ يُحدَّد نوع الكائن كما يلي: إن كان الكائن غير مُعرَّف أو ذي قيمة عدميَّة، فستعاد حينئذٍ القيمة "undefined" أو القيمة "null" وفقًا لذلك: jQuery.type( undefined ) === "undefined"‎ jQuery.type() ...

التابع ‎‎jQuery.type()‎‎ في jQuery

jQuery.type( obj )‎ القيم المعادة يعيد سلسلة نصية (String). الوصف يعيد هذا التابع نوع JavaScript الداخلي للكائن المُمرَّر إليه. jQuery.type( obj )‎ أُضيفت مع الإصدار: 1.4.3 obj أي شيء، ويمثل الكائن المُراد معرفة نوعه الداخلي في JavaScript. يستعمل هذا التابع عددًا من التقنيات لتحديد نوع الكائن الذي سنحصل عليه بدقة، إذ يُحدَّد نوع الكائن كما يلي: إن كان الكائن غير مُعرَّف أو ذي قيمة عدميَّة، فستعاد حينئذٍ القيمة "undefined" أو القيمة "null" وفقًا لذلك: jQuery.type( undefined ) === "undefined"‎ jQuery.type() ...

RegExp.prototype.unicode

الخاصية RegExp.prototype.unicode تُشير إذا كانت الراية "u" مضبوطةً في التعبير النمطي أم لا. لاحظ أنَّ الخاصية unicode تختلف من كائن RegExp إلى آخر وهي قابلة للقراءة فقط. سمات الخاصية RegExp.prototype.unicode قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط نعم الوصف قيمة الخاصية unicode هي قيمةٌ منطقيةٌ (Boolean)، إذ ستُعيد true إذا كانت الراية "u" مستخدمةً، وإلا فستُعيد false. الراية "u" تُفعِّل مختلف الميزات المتعلقة بيونيكود. لا يمكن تعديل قيمة هذه الخاصية مباشرةً. أمثلة مثال عن استخدام الخاصية unicode: var regex = ...

RegExp.prototype.ignoreCase

الخاصية RegExp.prototype.ignoreCase تُشير إذا كانت الراية "i" مضبوطةً في التعبير النمطي أم لا. لاحظ أنَّ الخاصية ignoreCase تختلف من كائن RegExp إلى آخر وهي قابلة للقراءة فقط. سمات الخاصية RegExp.prototype.ignoreCase قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط نعم الوصف قيمة الخاصية ignoreCase هي قيمةٌ منطقيةٌ (Boolean)، إذ ستُعيد true إذا كانت الراية "i" مستخدمةً، وإلا فستُعيد false. لا يمكن تعديل قيمة هذه الخاصية مباشرةً. الراية "i" تُشير إلى أنَّ التعبير النمطي يجب أن يتجاهل حالة الأحرف عند محاولته العثور ...

RegExp.prototype.global

الخاصية RegExp.prototype.global تُشير إذا كانت الراية "g" مضبوطةً في التعبير النمطي أم لا. لاحظ أنَّ الخاصية global تختلف من كائن RegExp إلى آخر وهي قابلة للقراءة فقط. سمات الخاصية RegExp.prototype.global قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط نعم الوصف قيمة الخاصية global هي قيمةٌ منطقيةٌ (Boolean)، إذ ستُعيد true إذا كانت الراية "g" مستخدمةً، وإلا فستُعيد false. لا يمكن تعديل قيمة هذه الخاصية مباشرةً. الراية "g" تُشير إلى أنَّ التعبير النمطي يجب أن يُختَبَر على جميع المطابقات المُمكنة في ...

RegExp.prototype.multiline

الخاصية RegExp.prototype.multiline تُشير إذا كانت الراية "m" مضبوطةً في التعبير النمطي أم لا. لاحظ أنَّ الخاصية multiline تختلف من كائن RegExp إلى آخر وهي قابلة للقراءة فقط. سمات الخاصية RegExp.prototype.multiline قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط نعم الوصف قيمة الخاصية multiline هي قيمةٌ منطقيةٌ (Boolean)، إذ ستُعيد true إذا كانت الراية "m" مستخدمةً، وإلا فستُعيد false. لا يمكن تعديل قيمة هذه الخاصية مباشرةً. الراية "m" تُشير إلى أنَّ السلسلة النصية متعددة الأسطر يجب أن تُعامَل كأسطر منفصلة، فمثلًا ...

RegExp.prototype.exec()‎

الدالة RegExp.prototype.exec()‎ تجرى بحثًا عن مطابقة للتعبير النمطي في السلسلة النصية المُحدَّدة، وتُعيد مصفوفة النتائج، أو القيمة null. إذا كانتَ تريد تنفيذ البحث لمعرفة إن كانت القيمة موجودةً أم لا فاستخدام الدالة RegExp.prototype.test()‎ أو الدالة String.prototype.search()‎. البنية العامة regexObj.exec(str) str السلسلة النصية التي سنبحث عن مُطابَقة للتعبير النمطي فيها. القيمة المعادة إذا نجحت عملية المطابقة، فستُعيد الدالة exec()‎ مصفوفةً وتُحدِّث خاصيات كائن التعابير النمطية. المصفوفة المعادة ستحتوي على النص المُطابَق في أوّل عنصر فيها، ثم العناصر التي تليه ستحتوي على ...

RegExp.prototype.sticky

الخاصية RegExp.prototype.sticky تُشير إذا كانت الراية "y" مضبوطةً في التعبير النمطي أم لا (أي أنَّ البحث سيبدأ من الفهرس المُشار إليه بالخاصية lastIndex التابعة للتعبير النمطي). لاحظ أنَّ الخاصية sticky تختلف من كائن RegExp إلى آخر وهي قابلة للقراءة فقط. سمات الخاصية RegExp.prototype.sticky قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط نعم الوصف قيمة الخاصية sticky هي قيمةٌ منطقيةٌ (Boolean)، إذ ستُعيد true إذا كانت الراية "y" مستخدمةً، وإلا فستُعيد false. لا يمكن تعديل قيمة هذه الخاصية مباشرةً. الراية "y" ...

RegExp.lastIndex

الخاصية RegExp.lastIndex هي خاصيةٌ عدديةٌ تابعةٌ للكائنات من النوع RegExp وتقبل القراءة والكتابة وتُحدِّد الفهرس الذي ستبدأ منه عملية البحث عن مطابقة. سمات الخاصية RegExp.lastIndex قابلة للكتابة نعم قابلة للإحصاء لا قابلة للضبط لا البنية العامة regExpObj.lastIndex الوصف ستُضبَط هذه الخاصية إذا احتوى التعبير النمطي على الراية "g" للإشارة إلى أنَّ البحث سيكون عامًّا في كامل السلسلة النصية، وستُطبَّق القواعد الآتية: إذا كانت قيمة lastIndex أكبر من طول السلسلة النصية، فلن تعمل الدالتان test()‎ و exec()‎ وبالتالي ستُضبَط قيمة lastIndex ...

RegExp.prototype.test()‎

الدالة RegExp.prototype.test()‎ تجرى بحثًا عن مطابقة للتعبير النمطي في السلسلة النصية المُحدَّدة، وتُعيد true أو false. البنية العامة regexObj.test(str) str السلسلة النصية التي سنبحث عن مُطابَقة للتعبير النمطي فيها. القيمة المعادة إذا نجحت عملية المطابقة، فستُعيد الدالة test()‎ القيمة true، وإن لم يكن التعبير النمطي موجودًا في السلسلة النصية فستُعيد القيمة false. الوصف الدالة test()‎ تُحدِّد إن كان النمط موجودًا في السلسلة النصية أم لا، وستُعيد قيمة منطقيةً (Boolean)، وذلك على النقيض من الدالة String.prototype.search()‎ التي تُعيد فهرس المُطابَقة (أو ...

Ruby/Topics

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

اختبارات التوكيد‎ في Node.js

الاستقرار: 2-مستقر توفِّر الوحدة assert مجموعةً من اختبارات التوكيد البسيطة التي يمكن استعمالها للتأكد من الثوابت (invariants). يوجد وضعي توكيد هما: الوضع الصارم (strict mode)، والوضع الإرثي (legacy mode)؛ وينصح باستعمال الوضع الصارم فقط. للمزيد من المعلومات حول موازنات التساوي المستعملة، ارجع إلى دليل MDN حول موازنات التساوي والتشابه. الصنف assert.AssertionError أضيف في الإصدار v0.1.21. يتفرَّع هذا الصنف الفرعي من الصنف Error الذي يشير إلى فشل عمليَّة التوكيد. جميع الأخطاء التي ترميها الوحدة assert هي نسخةٌ من الصنف AssertError. new ...

التابع ‎‎jQuery.htmlPrefilter()‎‎ في jQuery

jQuery.htmlPrefilter( html )‎ القيم المعادة يعيد سلسلةً نصيةً (String). الوصف يعدِّل ويرشِّح هذا التابع سلاسل HTML النصية الممرَّرة عبر توابع التعديل (manipulation) في jQuery. jQuery.htmlPrefilter( html )‎ أُضيف مع الإصدار: 1.12/2.2. html سلسلة نصية تحتوي على شيفرة HTML التي يراد تطبيق العمليَّة عليها. إنَّ الحاجة إلى استدعاء هذا التابع بشكل مباشر أمرٌ نادر الحدوث، إذ يستعمل بدلًا من ذلك كنقطة دخول لتعديل توابع التعديل الموجودة. إن أردنا مثلًا إزالة الوسم <del> من محتوى HTML الوارد، فاستعمل هذا التابع مثلما موضح ...

التابع ‎‎jQuery.htmlPrefilter()‎‎ في jQuery

jQuery.htmlPrefilter( html )‎ القيم المعادة يعيد سلسلةً نصيةً (String). الوصف يعدِّل ويرشِّح هذا التابع سلاسل HTML النصية الممرَّرة عبر توابع التعديل (manipulation) في jQuery. jQuery.htmlPrefilter( html )‎ أُضيف مع الإصدار: 1.12/2.2. html سلسلة نصية تحتوي على شيفرة HTML التي يراد تطبيق العمليَّة عليها. إنَّ الحاجة إلى استدعاء هذا التابع بشكل مباشر أمرٌ نادر الحدوث، إذ يستعمل بدلًا من ذلك كنقطة دخول لتعديل توابع التعديل الموجودة. إن أردنا مثلًا إزالة الوسم <del> من محتوى HTML الوارد، فاستعمل هذا التابع مثلما موضح ...

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

يعيد التابع source السلسلة النصية الأصلية للنمط (pattern). لاحظ أنه سيتم الاحتفاظ بمحارف التهريب كما هي. البنية العامة source→ str‎ القيمة المعادة يعيد التابع source السلسلة النصية الأصلية للنمط. أمثلة مثال على استخدام التابع source‎: /ab+c/ix.source #=> "ab+c"‎ /\x20\+/.source #=> "\\x20\\+" انظر أيضا التابع to_s: يُعيد سلسلة نصية تحتوي على التعبير النمطي وخياراته. مصادر قسم التابع source‎ في الصنف Regexp‎ في توثيق روبي الرسمي.

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

يُعيد التابع encoding كائنًا من النوع Encoding، والذي يمثل ترميز الكائن الذي استُدعي معه. البنية العامة encoding→ encoding‎ القيمة المعادة يعاد كائنٌ من النوع Encoding يمثِّل الترميز المستعمل. انظر أيضًا التابع casefold?‎: يعيد قيمة راية الحساسية لحالة الأحرف (case-insensitive flag). مصادر قسم التابع encoding‎ في الصنف Regexp‎ في توثيق روبي الرسمي.

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

يُطلق الاستثناء RangeError عند إعطاء تعبير نمطي غير صالح. إذا نفَّذنا السطر البرمجي التالي: Regexp.new("?") فسيُطلَق الاستثناء RangeError بالشكل التالي: RegexpError: target of repeat operator is not specified: /?/ مصادر صفحة الصنف RegexpError في توثيق روبي الرسمي.

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

يحسب التابع hash الشيفرة hash استنادًا إلى القيمة النصية وخيارات التعبير النمطي الذي استدعي معه. البنية العامة hash→ integer‎ القيمة المعادة يعاد عدد صحيح يمثِّل شيفرة hash المحسوبة للتعبير النمطي المعطى استنادًا إلى نص وخيارات هذا التعبير. انظر أيضًا التابع Object.hash: يحسب القيمة hash للكائن الذي استدعي معه. التابع inspect: يعيد نسخة نصية منسقة من التعبير النمطي المعطى. مصادر قسم التابع hash‎ في الصنف Regexp‎ في توثيق روبي الرسمي.

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

يهرِّب التابع quote أي محرف قد يكون له معنى خاص في التعبير النمطي ثم يُعيد سلسلة نصية جديدة مهرَّبة، أو يعيد الكائن الذي استُدعي معه (self) إذا لم يتم تهريب أي محرف. لكل سلسلة نصية str، ستكون قيمة التعبير Regexp.new(Regexp.escape( str ))=~ str مساوية للقيمة true. البنية العامة quote(str) → string‎ المعاملات str‎ سلسلة نصية يراد تهريبها. القيمة المعادة تعاد سلسلة نصية جديدة مهرَّبة، أو يعاد الكائن المعطى نفسه إذا لم يتم تهريب أي محرف. أمثلة مثال على استخدام التابع quote‎: ...

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

يُعيد التابع to_s سلسلة نصية تحتوي على التعبير النمطي وخياراته، باستخدام الصياغة (‎?opts:source). يمكن إعطاء هذه السلسلة النصية مرة أخرى إلى المُنشئ new لإنشاء تعبير نمطي مشابه للتعبير النمطي الأصلي؛ مع ذلك، قد لا يعيد المعامل == القيمة true عند مقارنتهما، حيث قد يختلف مصدر التعبير النمطي نفسه، كما يظهر المثال أدناه. بشكل عام، ينتج التابع inspect نسخة ذات مقروئية أفضل للتعبير النمطي. البنية العامة to_s→ str‎ القيمة المعادة تعاد سلسلة نصية تحتوي على التعبير النمطي المعطى وخياراته. أمثلة مثال على ...

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

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

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

يهرِّب التابع escape أي محرف يمكن أن يكون له معنى خاص في التعبير النمطي ثم يعيد سلسلة نصية جديدة مهرَّبة، أو يعيد الكائن الذي استُدعي معه (self) في حال عدم تهريب أي محرف. لكل سلسلة نصية str، ستكون قيمة التعبير Regexp.new(Regexp.escape( str ))=~ str مساوية للقيمة true. البنية العامة escape(str)→ string‎ المعاملات str‎ السلسلة النصية المراد تهريبها. القيمة المعادة تعاد سلسلة نصية جديدة مهرَّبة، أو يعاد الكائن الذي استُدعي معه (self) في حال عدم تهريب أي محارف. أمثلة مثال على استخدام ...

التابع 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.eql?‎‎ في روبي

يتحقق التابع eql?‎ إن كان التعبير النمطي المعطى مساويًا للتعبير النمطي الذي استُدعي معه؛ عملية التحقق من التساوي تشمل التحقق إن كان نمطاهما (patterns) متطابقان، وكان لهما نفس رمز مجموعة الحروف (character set code)، وكانت لهما نفس القيمة casefold?‎ لحالة الأحرف. البنية العامة eql?(other_rxp)→ true or false‎ المعاملات other_rxp‎ تعبير نمطي يراد التحقق من تساويه مع تعبير نمطي آخر. القيمة المعادة تعاد القيمة true إن كان التعبير النمطي other_rxp‎ مساويًا للتعبير النمطي المعطى، وإلا فستعاد القيمة false. أمثلة مثال على استخدام ...

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

يعيد التابع casefold?‎ قيمة راية الحساسية لحالة الأحرف (case-insensitive flag). البنية العامة casefold?→ true or false‎ القيمة المعادة تعاد قيمة راية الحساسية لحالة الأحرف (case-insensitive flag). أمثلة مثال على استخدام التابع casefold?‎: /a/.casefold? #=> false /a/i.casefold? #=> true /(?i:a)/.casefold? #=> false‎ انظر أيضًا التابع encoding: يُعيد كائنًا من النوع Encoding، والذي يمثل ترميز الكائن. مصادر قسم التابع casefold?‎ في الصنف ...

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

يُعيد التابع named_captures جدول Hash يحتوي معلومات حول الالتقاطات المسماة (named captures) للتعبير النمطي الذي استُدعي معه. مفاتيح (keys) الجدول Hash هي أسماء الالتقاطات المعينة. أما قيم الجدول Hash فهي مصفوفات تضم فهارس الالتقاطات المسماة المقابلة. إذا لم يكن هناك أي التقاطات مسماة، فسيعاد جدول Hash فارغ. البنية العامة named_captures → hash‎ القيمة المعادة يعاد كائن من النوع Hash يحتوي معلومات حول الالتقاطات المسماة (named captures) للتعبير النمطي المعطى. أمثلة مثال على استخدام التابع named_captures‎: /(?<foo>.)(?<bar>.)/.named_captures #=> {"foo"=>[1], "bar"=>[2]} /(?<foo>.)(?<foo>.)/.named_captures #=> {"foo"=>[1, 2]}‎ /(.)(.)/.named_captures #=> ...

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

يتحقق التابع fixed_encoding?‎ إن كان التعبير النمطي الذي استُدعي معه قابلًا للتطبيق على سلسلة نصية ذات ترميز متوافق مع الترميز ASCII. البنية العامة fixed_encoding?→ true or false‎ القيمة المعادة تعاد القيمة false إن كان التعبير النمطي المعطى قابلًا للتطبيق على سلسلة نصية ذات ترميز متوافق مع الترميز ASCII، أو تعاد القيمة true خلاف ذلك. أمثلة مثال على استخدام التابع fixed_encoding?‎: r = /a/ r.fixed_encoding? ...

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

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

Object.prototype.constructor

الخاصية Object.prototype.constructor تُعيد مرجعيةً إلى الدالة البانية Object التي تُنشِئ نسخةً (instance) من الكائن؛ لاحظ أنَّ قيمة هذه الخاصية تُشير إلى الدالة نفسها وليست سلسلةً نصيةً تحتوي على اسم الدالة؛ وتكون هذه القيمة للقراءة فقط في القيم الأوليّة مثل 1 و true و "test". الوصف جميع الكائنات تملك الخاصية constructor، والكائنات المُنشأة دون استخدام الدالة البانية مباشرةً (أي الشكل المختصرة لإنشاء الكائنات والمصفوفات) ستملك الخاصية constructor التي تُشير إلى الدالة البانية الأساسية لنوع الكائنات التي تتبع له. var o = ...

تعابير التحكم في روبي

لدى لغة روبي العديد من الطرق للتحكم في مسار تنفيذ البرنامج، وكل البنى المذكورة هنا تعيد قيمةً. في الاختبارات الشرطيّة في بنى التحكّم، تعدّ القيمة nil و false على أنّها قيم خطأ، بينما تُعدُّ القيمة true وأيّ كائن آخر على أنه قيم صحيحة. وفي هذا التوثيق، سنستخدم true للتعبير عن القيم الصحيحة و false للتعبير عن القيم الخطأ. بنية If الشرطية أبسط أشكال بنية if الشرطيّة يحتوي على جزأين، الاختبار الشّرطي، والجزء التّنفيذي then. هذه بنية if بسيطة: if true ...

التابع ‎‎jQuery.extend()‎‎ في jQuery

jQuery.extend( target [, object1 ] [, objectN ] )‎ القيم المعادة يعيد كائنًا من النوع Object. الوصف يدمج هذا التابع محتويات عنصرين أو أكثر مع بعضهما بعضًا ويضع الناتج في الكائن الأول. jQuery.extend( target [, object1 ] [, objectN ] )‎ أُضيف مع الإصدار: 1.0. target الكائن الذي سيضاف إليه خاصِّيَّات جديدة من الكائنات الأخرى إن مُرِّرت، أو سيوسِّع مجال أسماء jQuery (namespace)‎ إن لم يُمرَّر سواه. object1 كائن يحتوي على خاصِّيَّات إضافية يراد دمجها مع الكائن الأول target المعطى. ...

التابع ‎‎jQuery.extend()‎‎ في jQuery

jQuery.extend( target [, object1 ] [, objectN ] )‎ القيم المعادة يعيد كائنًا من النوع Object. الوصف يدمج هذا التابع محتويات عنصرين أو أكثر مع بعضهما بعضًا ويضع الناتج في الكائن الأول. jQuery.extend( target [, object1 ] [, objectN ] )‎ أُضيف مع الإصدار: 1.0. target الكائن الذي سيضاف إليه خاصِّيَّات جديدة من الكائنات الأخرى إن مُرِّرت، أو سيوسِّع مجال أسماء jQuery (namespace)‎ إن لم يُمرَّر سواه. object1 كائن يحتوي على خاصِّيَّات إضافية يراد دمجها مع الكائن الأول target المعطى. ...

Document.cookie

تُستعمل هذه الخاصيّة للحصول على ملفّات الارتباط (cookies) المُرتبطة بالمُستند الحالي وضبطها، للتعامل مع ملفّات الارتباط ببساطة أكثر، انظر إطار العمل البسيط هذا. البنية العامة الحصول على جميع ملفّات تعريف الارتباط المتاحة allCookies = document.cookie; المُتغيّر allCookies أعلاه عبارة عن سلسلة نصيّة تحتوي على قائمة بجميع ملفات الارتباط مفصولة بفاصلة منقوطة (;)، وهي على شكل مفتاح=قيمة. ضبط ملفّ ارتباط جديد document.cookie = newCookie; في الشيفرة أعلاه، المُتغيّر newCookie عبارة عن سلسلة نصيّة على شكل مفتاح=قيمة. لاحظ أنّك تستطيع أن تضبط أو تُحدّث ...

اختبار تطبيقات ريلز

يشمل هذا الدليل الآليّات المدمجة في ريلز لإجراء الاختبارت على التطبيقات. بعد قراءة هذا الدليل، ستتعلم: الاصطلاح المتعلّق باختبارات ريلز. كيفيّة كتابة كلٍّ من اختبارات الوحدة، الاختبارات الوظيفيّة، والاختبارات التكامليّة لتطبيقات ريلز. وغيرها من الطرق والإضافات الخاصّة بالاختبارات. ما الهدف من كتابة اختبارات لتطبيقات ريلز؟ يسهّل ريلز كتابة الاختبارات بشكل كبير، إذ أنّه يبدأ بهيكلة شيفرة الاختبار في الوقت الذي تُنشِئ فيه النّماذج ووحدات التحكّم. يمكّنك إجراء اختبارات ريلز من التأكّد من أداء الشيفرة وظيفتَها المطلوبة حتّى بعد إعادة تصميم ...

الوحدة ‎‎‎DNS‎ في Node.js

الاستقرار: 2-مستقر تحتوي الوحدة dns على دوال تخص فئتين مختلفتين هما: الدوال التي تستعمل خدمات نظام التشغيل الضمنية لتنفيذ عملية استبيان الاسم (name resolution)، والتي لا تتطلب بالضرورة تنفيذ أية عمليات اتصال بالشبكة. تحوي هذه الفئة على دالة وحيدة هي dns.lookup()‎. يتطلع المطورون إلى تنفيذ عملية استبيان الاسم بالطريقة نفسها التي تُنفِّذ فيها التطبيقات الأخرى الدالة dns.lookup()‎ على المنصة ذاتها عندما تضطر إلى استعمالها. تفحَّص المثال التالي الذي يُستعمَل فيه الدالة dns.lookup()‎ للبحث عن iana.org‎: const dns = require('dns'); dns.lookup('iana.org', (err, ...

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

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

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

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

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

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

الوحدة util‎ في Node.js

صُمِّمَت الوحدة util بشكل أساسي لتلبية احتياجات واجهات Node.js البرمجيّة الداخليّة. هذا لا يمنَع كون الأدوات، التي توفرها الوحدة، مفُيدةً للتطبيقات ولمطوري الوحدات البرمجيّة. يمكنك استيراد الوحدة والبدء باستخدامها عبر تنفيذ: const util = require('util'); util.callbackify(original)‎ أُضيف في الإصدار: v8.2.0. original‎:‏ <Function> دالة async‎ غير متزامنة. القيم المُعادة: <Function> دالةً من نمط دوال رد النداء (callback function). يأخُذ التابِع الدالة async (أو دالة تُعيد كاِئنًا من النوع Promise) ويعيد دالةً تتبع نمط دالة رد النداء «الخطأ أولًا» (error-first callback)، مثل ...

JavaScript/Topics

الكائنات العامة في هذا القسم جميع الكائنات العامة المُضمَّنة في لغة JavaScript، إضافةً إلى جميع الخاصيات والدوال التابعة لها. الخاصيات العامة هذه الخاصيات العامة تُعيد قيمةً بسيطةً، فهي لا تُمثِّل دوالًا أو خاصياتٍ تابعة لأحد الكائنات. Infinity NaN undefined null الدوال العامة هذه الدوال العامة -أي التي تستدعى في النطاق العام بدل استدعائها على كائن بعينه- تُعيد نتائجها إلى التعبير البرمجي الذي استدعاها. eval()‎‎ isFinite()‎ isNaN()‎ parseFloat()‎ parseInt()‎ decodeURI()‎ decodeURIComponent()‎ encodeURI()‎ encodeURIComponent()‎ escape()‎ unescape()‎ الكائنات الأساسية هذه هي الكائنات الأساسية ...

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

توجد عدة طرق لتنزيل وتثبيت روبي على كل منصة وهي: في لينكس (والأنظمة الشبيه بيونكس)، تستطيع استعمال نظام مدير الحزم لتوزيعتك (الطريقة الأسهل) أو أية أداة من طرف ثالث (مثل 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)) > #=> ...

التابع Float.prev_float في روبي

يعيد التابع prev_float العدد العشري الذي يسبق العدد العشري الذي استُدعي معه. يعيد استدعاء التابع prev_float مع القيمة (‎(-Float::MAX والقيمة (Float::INFINITY-) القيمة الثابتة ‎-Float::INFINITY. ويعيد استدعاء التابع بالشكل Float::NAN.prev_float القيمة Float::NAN. البنية العامة prev_float → float القيمة المعادة يعاد العدد العشري السابق للعدد العشري المعطى. أمثلة مثال على استخدام التابع prev_float: 0.01.prev_float #=> 0.009999999999999998 1.0.prev_float #=> 0.9999999999999999 100.0.prev_float #=> 99.99999999999999 0.01 - 0.01.prev_float #=> 1.734723475976807e-18 1.0 - 1.0.prev_float ...

التابع GC.disable في روبي

يعطِّل التابع disable جمع البيانات المهملة، ويعيد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. البنية العامة disable → true or false القيمة المعادة تعاد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. خلا ذلك، تعاد القيمة false. أمثلة مثال على استعمال التابع disable: GC.disable #=> false GC.disable #=> true انظر أيضا التابع enable: يفعِّل جمع البيانات المهملة، ويعيد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. مصادر قسم التابع disable‎ في الصنف GC في توثيق ...

 التابع Dir.delete في روبي

يحذف التابع delete‎ مجلدًا محدَّدًا. سيُطلق خطأ من صنف فرعي من SystemCallError في حال لم يكن المجلد المراد حذفه موجودًا. البنية العامة delete( string ) → 0 المعاملات string اسم المجلد المُراد حذفه. انظر أيضًا التابع chdir‎ : يغيِّر مجلد العمل (working directory) الحالي للعملية إلى مجلد محدَّد. التابع rmdir‎ :يحذف مجلدًا محدَّدًا.  مصادر قسم التابع delete في الصنف Dir في توثيق روبي الرسمي.

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

يرمى الاستثناء FrozenError عند محاولة تعديل كائن مجمد. [1, 2, 3].freeze << 4 عند تنفيذ هذه الشيفرة، يرمى الاستثناء: FrozenError: can't modify frozen Array انظر أيضًا التابع freeze: يجمد السلسلة النصية التي استُدعيت معه، أي يجعلها غير قابلة للتعديل. مصادر صفحة الصنف FrozenError في توثيق روبي الرسمي.

التابع ARGF.printf في روبي

يطبع التابع printf الكائن أو الكائنات الممرَّرة إليه على المجرى ios (اختصارًا للعبارة Input Output Stream) بعد تنسيقها بشكل معين. للمزيد من المعلومات حول المعاملات المستعملة في عملية التنسيق (أي المستعملة مع الوسيط format_string)، ارجع إلى صفحة التابع Kernel.sprintf. البنية العامة printf(format_string [, obj, ...]) → nil القيم المعادة تعاد القيمة nil. أمثلة مثالٌ على استخدام التابع printf: printf("%s, the sale price is $%f.\n", name, sale_price) ...

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

يتحقق التابع thread_variable?‎ إن كانت السلسلة النصية أو الرمز المعطى موجودًا كمتغير محلي للمهمة الفرعية (thread-local variable). لاحظ أنَّ هذه المتغيرات ليست متغيرات محلية الألياف (fiber local variables). يرجى الاطلاع على صفحة المعامل [] والتابع thread_variable_get لمزيد من التفاصيل. البنية العامة thread_variable?(key)→ true or false‎ المعاملات key‎ سلسلة نصية أو رمز. القيمة المعادة تعاد القيمة true إن كانت السلسلة النصية أو الرمز key المعطى موجودًا كمتغير محلي للمهمة الفرعية (thread-local variable)، وإلا فستعاد القيمة false. أمثلة مثال على استخدام التابع thread_variable?‎: ...

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

توسع كائنات الصنف ConditionVariable عمل الصنف Mutex. فمن الممكن باستخدام المتغيرات الشرطية إيقاف مهمة حرجة (critical section) في أثناء تنفيذها إلى حين إتاحة مورد ما. إليك المثال التالي: mutex = Mutex.new resource = ConditionVariable.new a = Thread.new { mutex.synchronize { # Thread 'a' now needs the resource resource.wait(mutex) # 'a' can now have the resource } } b = Thread.new { mutex.synchronize { ...

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