نتائج البحث

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

مُعدِّلات النمط Pattern Modifiers‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

فيما يلي مُعدِّلات PCRE الحالية الممكنة. وتشير الأسماء الموجودة بين قوسين إلى أسماء PCRE الداخلية لها. وتُتَجاهل المسافات والسطور الجديدة في المعدّلات، بينما تتسبب الأحرف الأخرى في حدوث خطأ. i (PCRE_CASELESS)‎ إذا ضُبِط هذا المُعدِّل، تتطابق الحروف في النمط مع الحروف الكبيرة والصغيرة. m (PCRE_MULTILINE)‎ تعامل PCRE سلسلةَ الهدف افتراضيًا كما لو كانت مكونة من "سطر" واحد من الحروف (حتى إذا كان يحتوي بالفعل على عدة سطور جديدة). ويتطابق الحرف الخاص "بداية السطر" ورمزه ^ فقط في بداية السلسلة النصية، ...

التابع match.expand()‎ في بايثون

يجري هذا التابع عملية استبدال التسلسلات المسبوقة بالخط المائل العكسي بالاعتماد على قالب متمثّلٍ بسلسلة نصية. البنية العامة match.expand(template) المعاملات template سلسلة نصية تتضمّن تسلسلات مسبوقة بالخط المائل العكسي تمثّل القالب الذي سيستخدمه التابع لإجراء عمليات الاستبدال. القيمة المعادة يعيد التابع السلسلة النصية الناتجة عن إجراء عمليات عملية استبدال التسلسلات المسبوقة بالخط المائل العكسي بالاعتماد على قالب متمثّلٍ بسلسلة نصية، وبنفس طريقة عمل التابع regex.sub()‎. إذ تُحوّل تسلسلات التهريب مثل ‎\n إلى المحارف المقابلة، وتحوّل الإشارات الخلفية الرقمية مثل (‎\2، ...

الوسيط (Middle Man)

توصيف المشكلة عندما يكون للصنف (class) مهمةٌ واحدةٌ فقط وهي تفويض المهام (delegation) لصنفٍ آخر، فما أهمية وجوده بالأصل؟ أسبابها قد تنتج المشكلة عن التخلُّص المفرط من الاستدعاءات المتسلسلة كعلاجٍ لمشكلة سلاسل الرسائل (message chains). أو قد تنتُج عن النقل التدريجيّ للصنف (class) إلى أصناف أخرى ليبقى الصنف الأصليّ فارغًا إلا من أوامر التفويض (delegation). وما الحل؟ حذف الوسيط (remove middle man) إن كانت معظم أصناف التابع (method's classes) تفوِّض المهام (delegate) إلى صنفٍ آخر. إليك المزيد ستحصل بحلِّ المشكلة ...

الخاصية grid-template

الخاصية grid-template في CSS هي خاصية مختصرة تستعمل لضبط قيم للخاصيات grid-template-rows و grid-template-columns و grid-template-areas. بطاقة الخاصية القيمة الابتدائية لكل خاصية مختصرة: grid-template-columns: none grid-template-rows: none grid-template-areas: none تُطبَّق على حاويات grid. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة لكل خاصية مختصرة: grid-template-columns: كما حُدِّدَت، لكن مع تحويل الأطوال النسبية إلى مطلقة grid-template-rows: كما حُدِّدَت، لكن مع تحويل الأطوال النسبية إلى مطلقة grid-template-areas: كما حُدِّدَت. /* كلمة محجوزة */ grid-template: none; /* grid-template-rows / grid-template-columns */ grid-template: 100px 1fr / 50px 1fr; grid-template: auto 1fr / auto 1fr ...

تحويل التوابع إلى معاملات (Parameterize Method)

المشكلة تؤدي توابع متعددة أعمالًا مماثلة تختلف فقط من حيث قيمها الداخلية أو أرقامها أو عملياتها. الحل تجميع هذه التوابع باستخدام معامل يُمرر القيمة الخاصة الضرورية. مثال قبل إعادة التصميم يؤدي التابعان ()fivePercentRaise و ()tenPercentRaise الغرض ذاته باختلاف النسبة المئوية المراد زيادتها للموظف Employee: يؤدي التابعان أعمالًا مماثلة تختلف فقط من حيث قيمها الداخلية أو أرقامها أو عملياتها. بعد إعادة التصميم تجميع التابعان السابقان في تابع واحد يدعى ()raise مع تمرير النسبة المئوية المتغيرة إليه: يجمع التابعين باستخدام معامل يُمرر ...

سلاسل القوالب في بايثون

تقدّم القوالب طريقة أبسط لإجراء عمليات الاستبدال في السلاسل النصية الموصوفة في PEP 292. حيث يمكن إجراء عمليات الاستبدال باستخدام الرمز $ بدلًا من الرمز %، وباتباع القواعد التالية: يعتبر التسلسل $$ تسلسل تهريب، ويجري استبداله بعلامة $ واحدة. تسمّي الصيغة ‎$identifier معرّفًا يحدّد موضعًا للاستبدال يطابق مفتاح ربط يحمل الاسم "identifier". المعرّفات الصالحة هي تلك التي تتضمّن حروفًا وأرقامًا بترميز ASCII وتكون غير حساسة لحالة الأحرف، وتبدأ بشرطة سفلية أو أحد حروف الترميز ASCII. وينتهي اسم المحرّف عند أوّل ...

استخدام التعليمة Switch

توصيف المشكلة وجود تركيبٍ معقَّدٍ لتعليمة switch أو عدّة تعليمات if متسلسلة. أسبابها ما يميِّز البرمجة كائنيّة التوجّه (OO) هو اعتمادها النادر على المعاملين switch و case، إذ تُوزَّع شيفرة switch بمواقع مختلفة من البرنامج بدلًا من تجمعيها في تعليمة switch واحدةٍ، وعند إضافة شرطٍ جديدٍ عليك إيجاد كافّة شيفرات switch لتعديلها، وكقاعدة عامّة: وجود تعليمة switch يعني أن عليك البدء بالتفكير بمبدأ التعدديّة الشكليّة (polymorphism). وما الحل؟ عزل تعليمة switch ووضعها بالصنف الصحيح عبر إنشاء صنفٍ (class) ونقل التابع ...

سحب التابع لأعلى (Pull Up Method)

المشكلة تحتوي الأصناف الفرعية على توابع تؤدي نفس العمل. الحل جعل التوابع متطابقة ثم نقلها إلى الصنف الأعلى ذي الصلة. مثال قبل إعادة التصميم يحتوي الصنفان الفرعيان Soldier و Tank على التابع ()getHealth الذي يؤدي نفس العمل: تحتوي الأصناف الفرعية على التابع ()getHealth تؤدي نفس العمل. بعد إعادة التصميم نقل التابع ()getHealth إلى الصنف Unit الأب وإزالته من الأصناف الفرعية: نقل التابع ()getHealth إلى الصنف الأعلى. لم إعادة التصميم؟ تنمو الأصناف الفرعية وتتطور بشكل مستقل عن بعضها البعض، مما يتسبب ...

الخاصية grid-template-areas

الخاصية grid-template-areas في CSS تضبط أسماء مناطق gird (أي grid areas). بطاقة الخاصية القيمة الابتدائية none تُطبَّق على حاويات grid. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* كلمة محجوزة */ grid-template-areas: none; /* <string> سلاسل نصية */ grid-template-areas: "a b"; grid-template-areas: "a b b" "a c d"; /* القيم العامة */ grid-template-areas: inherit; grid-template-areas: initial; grid-template-areas: unset; هذه المناطق ليست مرتبطةً بأيّ عنصر grid، لكن ...

الخاصية grid-template-columns

الخاصية grid-template-columns في CSS تضبط أسماء وأبعاد مسارات الأعمدة في تخطيط Grid. بطاقة الخاصية القيمة الابتدائية none تُطبَّق على حاويات grid. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت، لكن مع تحويل الأطوال النسبية إلى مطلقة. /* كلمة محجوزة */ grid-template-columns: none; /* <track-list> */ grid-template-columns: 100px 1fr; grid-template-columns: [linename] 100px; grid-template-columns: [linename1] 100px [linename2 linename3]; grid-template-columns: minmax(100px, 1fr); grid-template-columns: fit-content(40%); grid-template-columns: repeat(3, 200px); /* <auto-track-list> */ grid-template-columns: 200px repeat(auto-fill, 100px) 300px; grid-template-columns: minmax(100px, max-content) ...

الخاصية grid-template-rows

الخاصية grid-template-rows في CSS تضبط أسماء وأبعاد المسارات السطرية في تخطيط Grid. بطاقة الخاصية القيمة الابتدائية none تُطبَّق على حاويات grid. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت، لكن مع تحويل الأطوال النسبية إلى مطلقة. /* كلمة محجوزة */ grid-template-rows: none; /* <track-list> */ grid-template-rows: 100px 1fr; grid-template-rows: [linename] 100px; grid-template-rows: [linename1] 100px [linename2 linename3]; grid-template-rows: minmax(100px, 1fr); grid-template-rows: fit-content(40%); grid-template-rows: repeat(3, 200px); /* <auto-track-list> */ grid-template-rows: 200px repeat(auto-fill, 100px) 300px; grid-template-rows: minmax(100px, max-content) ...

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

يتم إنشاء كائنات الصنف Method بواسطة التابع Object.method، وترتبط بكائن معين (وليس بالصنف وحسب). ويمكن استخدامها لاستدعاء التابع داخل الكائن، أو ككتلة (block) مرتبطة بمكرر (iterator). كما يمكن فك ارتباطها (unbound) من كائن محدد (سيؤدي ذلك إلى إنشاء الكائن UnboundMethod) ثم ربطها بآخر. class Thing def square(n) n*n end end thing = Thing.new meth = thing.method(:square) meth.call(9) #=> 81 [ 1, 2, 3 ...

الربط بين الجداول

تخزن البيانات عادةً في قواعد البيانات بأكثر من جدول لتسهيل تنظيمها وإدارتها، وتُربط هذه الجداول فيما بينها من خلال الأعمدة المترابطة فيما بينها، وذلك بالاعتماد على مفهومي المفتاح الأولي Primary Key والمفتاح الثانوي Foreign Key، وله عدة أنواع ستُذكر تباعًا. أنواع ربط الجداول توجد عدة أنواع للربط بين جدولين (أو أكثر)، إذ يسمى الجدول الأول يساريًا والجدول الثاني يمينًا: الربط الداخلي INNER JOIN: تحديد بعض السجلات من الجدول اليساري والجدول اليميني بحيث تحقق شرط الربط. الربط اليساري LEFT JOIN: تحديد ...

واجهات الكائنات في PHP

تتيح واجهات الكائنات إنشاء شيفرة تحدّد التوابع التي يجب أن يتضمّنها الصنف دون الحاجة إلى تعريف آلية التحكّم في هذه التوابع. تعرّف الواجهات بنفس طريقة تعريف الأصناف، ولكن باستخدام الكلمة المفتاحية interface بدل الكلمة المفتاحية class ودون تعريف محتوى أيّ تابعٍ في الواجهة. يجب أن تكون جميع التوابع المصرّح عنها في الواجهة من النوع public وهذه هي طبيعة الواجهة. يمكن التصريح عن تابع بانٍ في الواجهة، وهو أمر مفيد في بعض الحالات، كاستخدام التابع من قبل المعامل factories. العامل implements ...

واجهات الكائنات في PHP

تتيح واجهات الكائنات إنشاء شيفرة تحدّد التوابع التي يجب أن يتضمّنها الصنف دون الحاجة إلى تعريف آلية التحكّم في هذه التوابع. تعرّف الواجهات بنفس طريقة تعريف الأصناف، ولكن باستخدام الكلمة المفتاحية interface بدل الكلمة المفتاحية class ودون تعريف محتوى أيّ تابعٍ في الواجهة. يجب أن تكون جميع التوابع المصرّح عنها في الواجهة من النوع public وهذه هي طبيعة الواجهة. يمكن التصريح عن تابع بانٍ في الواجهة، وهو أمر مفيد في بعض الحالات، كاستخدام التابع من قبل المعامل factories. العامل implements ...

تبديل التابع إلى كائن التابع (Replace Method with Method Object)

المشكلة وجود تابعٍ طويلٍ بالكثير من المتغيِّرات المحليّة (local variables) المتداخلة والتي تحول دون تطبيق تقنية الحل باستخراج التابع (extract method). الحل نقل التابع إلى صنفٍ (class) مستقلٍ بحيث تصبح متغيِّراته المحليّة حقولًا (fields) لهذا الصنف، وتقسيم التابع بعد ذلك إلى عدّة توابع أصغر في الصنف ذاته. مثال قبل إعادة التصميم نلاحظ وجود العديد من المتغيِّرات المحليّة في التابع price()‎ بالإضافة إلى عملياتٍ أخرى قد تكون طويلةً ومعقَّدة: في لغة Java: class Order { //... public double price() ...

المعامل EXISTS

يستخدم المعامل EXISTS للتأكد من وجود سجلات ناتجة عن الاستعلام الفرعي المستخدم في الاستعلام الرئيسي. مثال إن كان في قاعدة البيانات الجدولان الآتيان: الجدول الأول: جدول الطلاب students RegDate CourseID LastName FirstName StudentID ‎07-JUL-2017‎ 0206 Najjar Rama 1147 ‎08-NOV-2017‎ 0604 Kordi Jenan 1148 ‎07-JUL-2017 0206 Bitar Rahaf 1149 ‎20-AUG-2017 0607 Taweel Farah 1150 ‎08-NOV-2017 0610 Arab Rami 1151 ‎24-OCT-2017 0803 Akkad Aya 1152 ‎08-NOV-2017 0504 Haddad Abed 1153 ‎20-AUG-2017 0801 Fares Tasneem 1154 ‎24-OCT-2017 0607 Hamsho Monther 1155 ‎30-SEP-2017 0607 ...

الربط اليساري LEFT JOIN

يُستخدم هذا النوع من الربط ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدول اليساري وبعض السجلات من الجدول اليميني التي تحقق شرط الربط، وتكون له البنية العامّة الآتية: SELECT col_names FROM tbl_name1 LEFT [OUTER] JOIN tbl_name2 ON col_name1 = col_name2 مثال إن كانت قاعدة بيانات أحد المراكز التعليمية تحتوي على الجداول الآتية: الجدول الأول: جدول الطلاب students (المفتاح الأولي فيه هو عمود StudentID والمفتاح الثانوي هو عمود CourseID للربط مع جدول الدورات التدريبية) RegDate CourseID LastName FirstName StudentID ...

الربط الداخلي INNER JOIN

يُستخدم هذا النوع من الربط ما بين جدولين (أو أكثر) وذلك لتحديد بعض السجلات من الجدول اليساري والجدول اليميني بحيث تحقق شرط الربط، وتكون له البنية العامّة الآتية: SELECT col_names FROM tbl_name1 [INNER] JOIN tbl_name2 ON col_name1 = col_name2 وكما يُلاحظ أن وجود كلمة INNER اختياريّ لأن الربط الداخلي هو الحالة الافتراضية في الربط. مثال إن كانت قاعدة بيانات أحد المراكز التعليمية تحتوي على الجداول الآتية: الجدول الأول: جدول الطلاب students (المفتاح الأولي فيه هو عمود StudentID والمفتاح الثانوي هو عمود CourseID ...

إنشاء التوابع (Composing Methods)

تستهدف إعادة التصميم بشكل رئيسيٍّ إنشاء التوابع الصحيحة المناسبة، إذ تكون التوابع الطويلة سببًا للمشاكل في كثيرٍ من الحالات، وتجعل شيفرات بعض التوابع منطق التنفيذ (execution logic) غامضًا ويصبح التابع بهذا عصيَّ الفهم من جهةٍ وصعب التغييرٍ من جهة ثانية. يشمل هذا القسم من الحلول كلَّ ما يتعلق بالتوابع وإزالة التكرار (duplicates) في الشيفرة ليسمح بإجراء التطويرات المستقبليّة، وهذه التقنيات هي: استخراج التوابع (Extract Methods) المشكلة: وجود أجزاء من الشيفرة يُمكن عزلها وتجميعها سويةً. الحل: نقل الشيفرة إلى تابعٍ (method) ...

نقل التابع (Move Method)

المشكلة استخدام التابع (method) في صنفٍ (class) ما أكثر من استخدامه في صنفه الأساسيّ. الحل إنشاء تابعٍ جديدٍ في الصنف الأكثر استخدامًا لذلك التابع ونقل شيفرته إلى التابع الجديد، ثم تحويل الشيفرة في التابع الأصليّ إلى مرجعيّةٍ للتابع الجديد في الصنف الآخر أو حذفه كليَّا. مثال قبل إعادة التصميم يستخدِم الصنفُ Class2 التابعَ aMethod()‎ أكثر مما يستخدمه صنفه الأساسيّ Class1: يستخدِم الصنفُ Class2 التابعَ aMethod()‎ أكثر مما يستخدمه صنفه الأساسيّ Class1. بعد إعادة التصميم نُقِل التابع aMethod()‎ إلى الصنف ذي ...

إخفاء التابع (Hide Method)

المشكلة لا يُستخدم التابع من قِبل الأصناف الأخرى أو يستخدم فقط داخل التسلسل الهرمي للصنف الخاص به. الحل جعل التابع خاصًا أو محميًا. مثال قبل إعادة التصميم لا يستخدم التابع ()aMethod من قبل أصناف أخرى غير الصنف Employee المعرف فيه: لا يُستخدم التابع من قِبل الأصناف الأخرى أو يستخدم فقط داخل التسلسل الهرمي للصنف الخاص به. بعد إعادة التصميم جعل التابع ()aMethod خاصًّا ومحميًّا بإخفائه عن الأصناف الأخرى: جعل التابع خاصًا أو محميًا. لم إعادة التصميم؟ في كثير من الأحيان، ...

إنشاء التوابع (Composing Methods)

تستهدف إعادة التصميم بشكل رئيسيٍّ إنشاء التوابع الصحيحة المناسبة، إذ تكون التوابع الطويلة سببًا للمشاكل في كثيرٍ من الحالات، وتجعل شيفرات بعض التوابع منطق التنفيذ (execution logic) غامضًا ويصبح التابع بهذا عصيَّ الفهم من جهةٍ وصعب التغييرٍ من جهة ثانية. يشمل هذا القسم من الحلول كلَّ ما يتعلق بالتوابع وإزالة التكرار (duplicates) في الشيفرة ليسمح بإجراء التطويرات المستقبليّة، وهذه التقنيات هي: استخراج التوابع (Extract Methods) المشكلة: وجود أجزاء من الشيفرة يُمكن عزلها وتجميعها سويةً. الحل: نقل الشيفرة إلى تابعٍ (method) ...

استخراج التوابع (Extract Methods)

المشكلة وجود أجزاء من الشيفرة يُمكن عزلها وتجميعها سويةً. الحل نقل الشيفرة إلى تابعٍ (method) أو دالةٍ (function) جديدة والاستعاضة عن الجزء (بمكانه السابق) باستدعاءٍ لهذا التابع الجديد. مثال قبل إعادة التصميم نلاحظ وجود جزء من الشيفرة لطباعة بعض البيانات (التفاصيل)، والتي يمكن عزلها بتابعٍ جديد، الشيفرة قبل إعادة التصميم بالشكل: في لغة Java: void printOwing() { printBanner(); // طباعة التفاصيل System.out.println("name: " + name); System.out.println("amount: " + getOutstanding()); } في لغة #C: void PrintOwing() { PrintBanner(); ...

دمج التوابع (Inline Methods)

المشكلة أن يكون محتوى التابع (method body) بسيطًا وواضحًا أكثر من التابع بحدِّ ذاته، ويمكن عندئذٍ الاستغناء عنه. الحل نقل الشيفرة الموجودة في التابع (محتوى التابع) إلى مواقع استدعائه، وحذف التابع برمته إذ لا داعي له. مثال قبل إعادة التصميم نلاحظ أن محتوى التابع moreThanFiveLateDeliveries()‎ واضحٌ وبسيطٌ لدرجةٍ تجعل الاستغناء عنه ممكنًا: في لغة Java: class PizzaDelivery { //... int getRating() { return moreThanFiveLateDeliveries() ? 2 : 1; } boolean moreThanFiveLateDeliveries() { ...

التوابع الطويلة (Long Methods)

توصيف المشكلة تنتُج هذه المشكلة عن احتواء شيفرة التابع على الكثير من الأسطر؛ فهو أمرٌ يدعو للتساؤل حقًا إن كان التابع بأكثر من 10 أسطر! لِمَ؟ أسبابها إنَّ ما يحدث دائمًا أنْ يُضاف للتابع لا أن يُحذَف منه! وذلك لسهولة كتابة الإضافات للشيفرة مقارنةً مع قراءتها، ولن تظهر هذه المشكلة واضحةً إلا بعد تفاقمها ووصولها لحدِ لا يُحتمَل، وكذلك يجد المبرمج أنَّ كتابة تابعٍ جديدٍ أكثرُ مشقّةً من الإضافة لتابعٍ موجودٍ مسبقًا، إذ يفكر: "هما سطران وحسب، ولا داعي لتخصيص ...

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

يستدعي المعامل === كتلة التابع مع تمرير الكائن الواقع على يمينه كوسيط إلى المعامل الواقع على يساره كما هو الحال في Proc.call. هذا يَسمح لكائنٍ من النوع proc أن يكون هدفًا للكتلة when في التعليمة case. البنية العامة proc === obj→ result_of_proc‎ القيمة المعادة تعاد نتيجة الوسيط proc. انظر أيضا التابع ==: يتحقق من تساوي كائنين من النوع Method. مصادر قسم التابع ===‎ في الصنف Method‎ في توثيق روبي الرسمي.

إعادة تسمية التوابع (Rename Method)

المشكلة لا يعبِّر اسم التابع عن ما يقوم به. الحل إعادة تسمية التابع. مثال قبل إعادة التصميم لا يفسر اسم التابع ()getsnm في الصنف Customer ما يقوم به. لا يفسر اسم التابع ما يقوم به. بعد إعادة التصميم إعادة تسمية التابع ()getsnm إلى ()getSecondName الذي يصف ما يقوم به. يفسر اسم التابع ما يقوم به. لم إعادة التصميم؟ ربما كانت تسمية تابعٍ ما سيئة من البداية - على سبيل المثال، أنشأ شخصٌ ما التابع في عجلة ولم يهتم كفاية بتسميته ...

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

يستدعي معامل الفهرسة [] الكتلة البرمجية للتابع، ويضبط قيم معاملات الكتلة عند القيم المعطاة ضمنه باستخدام صياغة مشابهة لاستدعاء التوابع ثم يعيد قيمة آخر تعبير تم تقييمه في الكتلة. لاحظ أنَّ ‎prc.()‎ يستدعي prc.call()‎ مع تمرير الوسائط المعطاة. وهي صياغة مختصرة لإخفاء التابع "call". بالنسبة للكائنات procs التي تم إنشاؤها باستخدام lambda أو ‎->()‎‎‎، سيُطلق خطأ إذا كان عدد المعاملات الممررة إلى proc غير صحيح. بالنسبة للكائنات proc التي تم إنشاؤها باستخدام Proc.new أو Kernel.proc، سيتم تجاهل المعاملات الإضافية بصمت، ...

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

يتحقق المعامل == من تساوي كائنين من النوع Method. يكون كائنان من النوع Method متساويين إن كانا مرتبطين بنفس الكائن، وكانا لهما نفس التعريف، وكان لهما نفس الصنف أو الوحدة (module) المالكة. البنية العامة meth == other_meth → true or false‎ القيمة المعادة تُعاد القيمة true إن كان الكائنان متساويين، وإلا فستُعاد القيمة false. انظر أيضا التابع ===: يستدعي كتلة التابع مع تمرير الكائن الواقع على يمينه كوسيط إلى المعامل الواقع على يساره كما هو الحال في Proc.call. مصادر قسم ...

طريقة الاستعمال وتشغيل الأمثلة في Node.js

البنية العامة node [options] [V8 options] [script.js | -e "script" | - ] [arguments] راجع رجاءً توثيق خيارات سطر الأوامر للمزيد من المعلومات عن الخيارات والطرائق التي يمكن استعمالها لتشغيل السكربتات وتنفيذها مع Node.js. تشغيل الأمثلة سنشرح مثالًا عن إنشاء خادم ويب باستعمال Node.js يُظهِر العبارة 'مرحبًا بالعالم!' في المتصفح. تبدأ الأوامر المستعملة في هذا المثال بالمحرف $ أو < وذلك لمحاكاة كيفيَّة ظهورها في طرفيَّة المستخدم، لذا لا تضف هذين المحرفين إلى الأوامر عند نسخها واستعمالها. توجد الكثير من الدروس ...

الخاصية grid

الخاصية grid المختصرة في CSS تضبط جميع الخاصيات التي تُحدَّد خصائص الشبكة بوضوح (أي grid-template-rows و grid-template-columns و grid-template-areas)، وجميع الخاصيات التي تُحدِّد خصائص الشبكة ضمنيًا (أي grid-auto-rows و grid-auto-columns و grid-auto-flow)، والخاصيات التي تُضبِط الفراغ بين الأعمدة والأسطر (أي grid-column-gap و grid-row-gap)، وكل ذلك في قاعدة واحدة. بطاقة الخاصية القيمة الابتدائية لكل قيمة مختصرة: grid-template-rows: none grid-template-columns: none grid-template-areas: none grid-auto-rows: auto grid-auto-columns: auto grid-auto-flow: row grid-column-gap: 0 grid-row-gap: 0 تُطبَّق على حاويات grid. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة لكل قيمة مختصرة: grid-template-rows: كما حُدِّدَت، ...

الدالة fnmatch()‎ في PHP

(PHP 4 >= 4.3.0,PHP 5, PHP 7) تتحقَّق الدالة fnmatch()‎ من تطابق اسم ملف محدَّد مع نمط معيّن. الوصف bool fnmatch ( string $pattern , string $string [, int $flags = 0 ] ) تتحقَّق هذه الدالة من تطابق السلسلة النصيَّة string المُمرَّرة مع النمط pattern الذي يمكن أن يُستعمل معه محارف البدل الخاصة (wildcard) المُستخدمة في الصدفة. المعاملات pattern النمط المراد مُطابقته مع السلسلة النصيَّة string. يمكن استعمال محارف الصدفة الخاصة (wildcard ويشار إليها أيضًا meta characters) لإنشاء النمط. string ...

تكرار الشيفرات (Duplicate Code)

توصيف المشكلة التشابه (أو التطابق المطلق) بين مقطعين من الشيفرة في البرنامج. أسبابها تحدث هذه المشكلة عندما يعمل أكثرُ من مبرمجٍ على كتابة أجزاءَ مختلفةٍ من نفس البرنامج وبنفس الوقت، فلا يدري أحدهم أنّ الشيفرة التي يكتبها قد سبقه بها مبرمجٌ آخر ومن الممكن استخدامها نفسها دون الحاجة لتكرارها. أو قد تنتُج عن وجود جزئين من الشيفرة مختلفين شكليًّا متماثلين ضمنيًا (يؤديان نفس المهمة)، ومن الصعب كشف هذا النوع من التكرار وعلاجه. قد يكون التكرار هادفًا ببعض الأحيان، كأن يكون ...

إنشاء وتخصيص مولدات وقوالب ريلز

مولدات ريلز هي أداة أساسية إذا كنت تخطط لتحسين سير عملك. مع هذا الدليل سوف تتعلم كيفية إنشاء المولدات وتخصيص المولدات الموجودة. بعد قراءة هذا الدليل، ستتعلم: كيفية معرفة أي المولدات المتوفرة في التطبيق الخاص بك. كيفية إنشاء مولد باستخدام القوالب. كيفية بحث ريلز عن المولدات قبل استدعائها. كيفية إنشاء ريلز داخليًا شيفرة من القوالب. كيفية تخصيص المولد scaffold عن طريق إنشاء مولدات جديدة. كيفية تخصيص المولد scaffold عن طريق تغيير قوالب المولدات. كيفية استخدام التراجعات (fallbacks) لتجنب استبدال مجموعة ...

التابع Template.safe_substitute()‎ في بايثون

هذا التابع مشابه للتابع Template.substitute()‎ ، باستثناء أنّه لا يطلق خطأً أو استثناءً عند حدوث مشكلة أثناء عملية الاستبدال. البنية العامة safe_substitute(mapping, **kwds) المعاملات mapping أي كائن شبيه بالقاموس يتضمّن مفاتيح مطابقة للمعرّفات المستخدمة في القالب. ‎‎**kwds‎ يمكن بدلًا مما سبق تقديم معاملات مفتاحية، تكون فيها الكلمات المفتاحية مطابقة للمعرّفات المستخدمة في القالب. عند استخدام المعامل mapping مع المعاملات المفتاحية، تأخذ المعاملات المفتاحية الأولوية في حال وجود معرّفات متكرّرة بينهما. القيمة المعادة يعيد التابع سلسلة نصية جديدة ناتجة عن إجراء ...

التابع Template.safe_substitute()‎ في بايثون

هذا التابع مشابه للتابع Template.substitute()‎ ، باستثناء أنّه لا يطلق خطأً أو استثناءً عند حدوث مشكلة أثناء عملية الاستبدال. البنية العامة safe_substitute(mapping, **kwds) المعاملات mapping أي كائن شبيه بالقاموس يتضمّن مفاتيح مطابقة للمعرّفات المستخدمة في القالب. ‎‎**kwds‎ يمكن بدلًا مما سبق تقديم معاملات مفتاحية، تكون فيها الكلمات المفتاحية مطابقة للمعرّفات المستخدمة في القالب. عند استخدام المعامل mapping مع المعاملات المفتاحية، تأخذ المعاملات المفتاحية الأولوية في حال وجود معرّفات متكرّرة بينهما. القيمة المعادة يعيد التابع سلسلة نصية جديدة ناتجة عن إجراء ...

CSS/Topics/Grid

الخاصية الوصف grid الخاصية grid المختصرة في CSS تضبط جميع الخاصيات التي تُحدَّد خصائص الشبكة بوضوح (أي grid-template-rows و grid-template-columns وgrid-template-areas)، وجميع الخاصيات التي تُحدِّد خصائص الشبكة ضمنيًا (أي grid-auto-rows و grid-auto-columns و grid-auto-flow)، والخاصيات التي تُضبِط الفراغ بين الأعمدة والأسطر (أي grid-column-gap وgrid-row-gap)، وكل ذلك في قاعدة واحدة. grid-area الخاصية grid-area في CSS هي خاصية مختصرة تضبط قيمة الخاصيات grid-row-start و grid-column-start و grid-row-end و grid-column-end، مُحدَّدةً أبعاد عنصر grid وموضعه. grid-auto-columns تضبط أبعاد مسارات الأعمدة المُنشأة ضمنيًا. grid-auto-flow تضبط كيف ستعمل خوارزمية تحديد مواضع عناصر grid التلقائية. grid-auto-rows تضبط أبعاد مسارات الأسطر المُنشأة ضمنيًا. grid-column الخاصية grid-column في CSS هي خاصية مختصرة ...

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

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

مفاتيح الجداول

تستخدم المفاتيح بهدف الربط ما بين الجداول في قواعد البيانات. المفتاح الأوليّ PRIMARY KEY هو عمود (أو أكثر) من الجدول والذي يميّز السجلات عن بعضها، تكون القيم فيه فريدة (غير مكررة) ولا يمكن ألّا يحتوي قيمة (قيمته NULL)، ويكون للجدول مفتاح أولي وحيد. المفتاح الثانويّ FOREIGN KEY هو عمود (أو أكثر) من الجدول والذي يمكن عدّه مرجعيةً (reference) لعمود آخر في جدول ثانٍ (وغالبًا ما يكون هذا العمود هو المفتاح الأولي للجدول الثاني). مثال تحتوي قاعدة بيانات أحد المراكز التعليمية ...

Python/pathlib/Path/glob

التابع Path.glob في بايثون تعيد جميع الملفات التي تحقق نمط glob المعطى، مهما كان نوع الملف البنية العامة glob(pattern) المعاملات الوسيط pattern نمط glob المُراد مُطابقته. القيمة المعادة يُعيد قائمة عناصرها كائنات مسار، تُمثّل جميع الملفات التي تحقق نمط glob المعطى. أمثلة يبين المثال التالي طريقة استخدام التابع: >>> sorted(Path('.').glob('*.py')) [PosixPath('pathlib.py'), PosixPath('setup.py'), PosixPath('test_pathlib.py')] >>> sorted(Path('.').glob('*/*.py')) [PosixPath('docs/conf.py')] استخدام النمط "**" يعني النمط "**" تحديد المجلد الحالي وجميه المجلدات الفرعية في داخله بشكل عودي (recursively)، وهو ما يسمّى recursive globbing >>> sorted(Path('.').glob('**/*.py')) [PosixPath('build/lib/pathlib.py'), PosixPath('docs/conf.py'), PosixPath('pathlib.py'), PosixPath('setup.py'), PosixPath('test_pathlib.py')] ملاحظة: احذر من ...

التابع Template.substitute()‎ في بايثون

يؤدي هذا التابع عملية الاستبدال بالاعتماد على القالب ويعيد سلسلة نصية جديدة. البنية العامة substitute(mapping, **kwds) المعاملات mapping أي كائن شبيه بالقاموس يتضمّن مفاتيح مطابقة للمعرّفات المستخدمة في القالب. ‎‎**kwds‎ يمكن بدلًا مما سبق تقديم معاملات مفتاحية، تكون فيها الكلمات المفتاحية مطابقة للمعرّفات المستخدمة في القالب. عند استخدام المعامل mapping مع المعاملات المفتاحية، تأخذ الأخيرة الأولوية في حال وجود معرّفات متكرّرة بينهما. في حال عدم وجود المعرّفات في المعامل mapping أو عند غياب المعاملات المفتاحية، تطلق اللغة الخطأ KeyError، وإضافة ...

الاستثناء re.error()‎ في بايثون‎

تطلق اللغة هذا الاستثناء عند تمرير سلسلة نصية غير صالحة كتعبير نمطي إلى إحدى الدوال السابقة (كأن تتضمن السلسلة أقواسًا غير متطابقة)، أو عند حدوث أخطاء أخرى أثناء عملية التصريف أو المطابقة. لا يعد خلوّ السلسلة النصية من التطابقات خطأً على الإطلاق. البنية العامة re.error(msg, pattern=None, pos=None) الخاصيات تمتلك نسخة الخطأ الخصائص الإضافية التالية: msg رسالة الخطأ غير المنسّقة. pattern التعبير النمطي. pos موقع حدوث الخطأ في تصريف التعبير النمطي (قد يأخذ القيمة None). lineno السطر الحاوي على قيمة الخاصية ...

الدالة re.search()‎ في بايثون‎

تفحص الدالة السلسلة النصية بحثًا عن أول موقع يحصل فيه تطابق مع التعبير النمطي المعطى، وتعيد كائن match المقابل. البنية العامة re.search(pattern, string, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. flags الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات. القيمة المعادة تعيد الدالة كائن match عند العثور على حالة تطابق بين التعبير النمطي والسلسلة ...

ازالة توابع الإعدادات (Remove Setting Method)

المشكلة يكون تعيين قيمة الحقل فقط عند إنشائه، ولا تتغير في أي وقت لاحق. الحل إزالة التوابع التي تضبط قيمة الحقل. مثال قبل إعادة التصميم يضبط التابع ()setImmutableValue قيمةً غير قابلة للتغيير أو التعديل في المستقبل: يغيّر التابع من قيمة الحقل. بعد إعادة التصميم حذف التابع ()setImmutableValue من الصنف Customer: إزالة التابع الذي يضبط قيمة الحقل. لم إعادة التصميم؟ إذا كنت تريد منع أي تغييرات في قيمة الحقل. آلية الحل يجب أن تكون قيمة الحقل قابلة للتغيير فقط في الباني. ...

تبسيط استدعاءات التوابع (Simplifying Method Calls)

تجعل التقنيات التي سيشار إليها في هذا القسم استدعاءات التوابع أبسط وأسهل للفهم والاستيعاب. سيؤدي ذلك بدوره إلى تبسيط الواجهات للتفاعل بين الأصناف. هذه التقنيات هي: إعادة تسمية التوابع (Rename Method) المشكلة: لا يعبِّر اسم التابع عن ما يقوم به. الحل: إعادة تسمية التابع. إضافة المعاملات (Add Parameter) المشكلة: لا يملك التابع بيانات كافية لتنفيذ بعض الإجراءات. الحل: إنشاء معامل جديد لتمرير البيانات الضرورية. حذف المعاملات (Remove Parameter) المشكلة: لا يُستخدم معاملٌ ما في متن التابع. الحل: إزالة المعامل غير ...

تعريف التوابع الدخيلة (Introduce Foreign Methods)

المشكلة الحاجة إلى تابعٍ غير موجودٍ في الصنف المساعد (utility class) ومن غير الممكن إضافته إلى ذلك الصنف. الحل إضافة التابع المطلوب إلى صنف العميل (client class) وتمرير كائنٍ (object) من الصنف المساعد إليه كوسيط (argument). مثال قبل إعادة التصميم يحتوي الصنف Report تابعًا باسم sendReport والذي يستخدم الصنف المساعد Date لإنشاء تاريخ اليوم التالي عبر إضافة القيمة 1 إلى اليوم الحالي، كما يلي: في لغة Java: class Report { //... void sendReport() { Date ...

دفع التابع لأسفل (Push Down Method)

المشكلة هل السلوك المُنفَّذ في الصنف الأب مُستخدمٌ في صنف فرعي واحد فقط (أو أكثر)؟ الحل نقل هذا السلوك إلى الأصناف الفرعية. مثال قبل إعادة التصميم التابع ()getFuel الموجود في الصنف Unit الأب مُستخدم في صنف فرعي واحد فقط الذي هو Tank: التابع الموجود في الصنف الأب مُستخدم في صنف فرعي واحد فقط. بعد إعادة التصميم نقل التابع ()getFuel من الصنف الأب إلى الصنف الفرعي المستخدم فيه: نقل هذا التابع إلى الصنف الفرعي الذي يُستخدم فيه. لم إعادة التصميم؟ في ...

التابع call‎ الخاص بالصنف Method في روبي

يستدعي call كتلة التابع الذي استٌدعي معه، ويضبط وسائط الكتلة عند القيم المُمرَّرة إليه باستخدام صياغة مشابهة لصياغة استدعاء التوابع ثم يعيد قيمة آخر تعبير تم تقييمه في الكتلة. لاحظ أن ‎prc.()‎ يستدعي prc.call()‎ مع تمرير المعاملات المعطاة. وهي صياغة مختصرة لإخفاء التابع "call". بالنسبة للكائنات procs التي تم إنشاؤها باستخدام lambda أو ‎->()‎‎‎، سيُطلق خطأ إذا كان عدد المعاملات الممررة إلى proc غير صحيح. بالنسبة للكائنات proc التي تم إنشاؤها باستخدام Proc.new أو Kernel.proc ، سيتم تجاهل المعاملات الإضافية ...

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

يعيد التابع match?‎ ناتج التعبير sym.to_s.match?‎. البنية العامة match?(pattern) → true or false match?(pattern, pos)→ true or false‎ المعاملات pattern النمط المراد التحقق من مطابقته للرمز المعطى. القيمة المعادة تعاد القيمة true إن طابق النمط pattern الرمز المعطى. خلا ذلك، تعاد القيمة false. انظر أيضا التابع match: يعيد ناتج التعبير sym.to_s.match. مصادر قسم التابع match?‎ في الصنف Symbol‎ في توثيق روبي الرسمي.

الصنف Formatter في بايثون

يتيح صنف السلاسل النصية الداخلي في بايثون إجراء عمليات استبدال معقدة للمتغيرات إلى جانب تنسيق القيم باستخدام التابع str.format()‎ الموصوف في PEP 3103. يتيح الصنف Formatter في الوحدة string إنشاء عمليات تنسيق جديدة وتخصيصها حسب الرغبة وبنفس الأسلوب المتّبع في التابع الداخلي str.format()‎. ويقدّم الصنف Formatter التوابع العامّة التالية: Formatter.format()‎ هذه هو تابع الواجهة البرمجية العام، ويأخذ سلسلة تنسيق نصية وعددًا من المعاملات الموقعية والمفتاحية. ويعدّ تابع تغليف wrapper يستدعي التابع vformat()‎. Formatter.vformat()‎ هذا الدالة هي المسؤولة الحقيقية عن جميع ...

الدالة re.split()‎ في بايثون‎

تقسم الدالة السلسلة النصية عند كل مكان تحدث فيه عملية مطابقة للنمط المعطى. البنية العامة re.split(pattern, string, maxsplit=0, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. maxsplit العدد الأقصى من التقسيمات التي تجريها الدالة على السلسلة النصية. في حال كان العدد الأقصى من التقسيمات أقل من عدد حالات المطابقة فإنّ الدالة تعيد ما يبقى من السلسلة النصية ليكون العنصر الأخير في القائمة المعادة. يأخذ هذا المعامل القيمة الافتراضية 0. ...

Python/pathlib/Path/rglob

التابع PurePath.rglob في بايثون مشابه لاستدعاء التابع glob عند إضافة '**' في بداية النمط المُعطى البنية العامة >>> sorted(Path().rglob("*.py")) [PosixPath('build/lib/pathlib.py'), PosixPath('docs/conf.py'), PosixPath('pathlib.py'), PosixPath('setup.py'), PosixPath('test_pathlib.py')] المعاملات الوسيط pattern النمط المُراد مطابقته. القيمة المعادة مشابه لاستدعاء التابع glob عند إضافة '**' في بداية النمط المُعطى أمثلة يبين المثال التالي طريقة استخدام التابع: >>> sorted(Path().rglob("*.py")) [PosixPath('build/lib/pathlib.py'), PosixPath('docs/conf.py'), PosixPath('pathlib.py'), PosixPath('setup.py'), PosixPath('test_pathlib.py')] انظر أيضًا مصادر

الدالة glop()‎ في PHP

(PHP 4 >= 4.3.0, PHP 5, PHP 7) تبحث الدالة glob()‎ عن مسارات محدَّدة لملفات أو مجلَّدات والتي تتطابق مع نمط مُعطى. الوصف array glob ( string $pattern [, int $flags = 0 ] ) تبحث هذه الدالة عن جميع المسارات التي تُطابق النمط pattern وفقًا للقواعد التي تستخدمها المكتبة libc للدالة glob()‎، والتي تشبه نظيرتها المستخدمة من قبل أشهر الصدفات (shells). المعاملات pattern التعبير النمطي المُعطى. الرمز ~ (المَدَّة [tilde]) غير مدعوم، كما أنَّه لا يُجرى أي عملية استبدال للمعاملات. ...

التابع File.fnmatch في روبي

يتحقق التابع fnmatch من تطابق مسار مع نمط محدَّد. هذا النمط ليس تعبيرًا نظاميًّا بل يتبع قواعد مشابهة لتعميم أسماء الملفات في الصدفة. البنية العامة fnmatch( pattern, path, [flags] ) → (true or false) fnmatch?( pattern, path, [flags] ) → (true or false) المعاملات pattern النمط المراد منه مطابقة المسار path المعطى. يمكن أن يحتوي على المحارف الخاصَّة (metacharacters، أو تدعى محارف الصدفة أيضًا) التالية: المحرف الخاص الوصف * يطابق أي ملف. يمكن أن يُقيَّد بقيم أخرى في النطاق العام (glob). هذا ...

التابع File.fnmatch?‎ في روبي

يتحقق التابع fnmatch?‎ من تطابق مسار مع نمط محدَّد. هذا النمط ليس تعبيرًا نظاميًّا بل يتبع قواعد مشابهة لتعميم أسماء الملفات في الصدفة. البنية العامة fnmatch?( pattern, path, [flags] ) → (true or false) المعاملات pattern النمط المراد منه مطابقة المسار path المعطى. يمكن أن يحتوي على المحارف الخاصَّة (metacharacters، أو تدعى محارف الصدفة أيضًا) التالية: المحرف الخاص الوصف * يطابق أي ملف. يمكن أن يُقيَّد بقيم أخرى في النطاق العام (glob). هذا المحرف يقابل ‎/ * /x‎. في التعابير النظامية. ...

الدالة re.fullmatch()‎ في بايثون‎

تتحقّق الدالة ممّا إذا كانت السلسلة النصية بأكملها مطابقة للتعبير النمطي المعطى. البنية العامة re.fullmatch(pattern, string, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. flags الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات. القيمة المعادة إن طابقت السلسلة النصية بأكملها التعبير النمطي المعطى، فستعيد الدالة كائن match المقابل، وتعيد القيمة None إن لم تطابق السلسلة ...

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

يبدل التابع gsub!‎ قيمة (أو قيم) محدَّدة مكان جميع الأنماط المتطابقة في السلسلة النصية التي استدعي معها. هذا التابع مماثل تمامًا للتابع gsub ولكن يعدل على السلسلة المعطاة نفسها. البنية العامة gsub!(pattern, replacement) → str or nil gsub!(pattern, hash) → str or nil gsub!(pattern) {|match| block } → str or nil gsub!(pattern) → an_enumerator المعاملات pattern يكون عادةً تعبيرًا نمطيًّا. إن كان سلسلة نصية، فستُفسَّر أية محارف خاصة بالتعبيرات النمطية الموجودة فيها حرفيًّا؛ أي '‎\\d' سيطابق خط مائل عكسي يتبعه الحرف 'd' مباشرةً ...

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

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

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

يبحث التابع scan عن نمط محدَّد ضمن السلسلة النصية التي استدعيت معه ويعيد النتائج المتطابقة في مصفوفة أو يمرِّرها إلى الكتلة المعطاة ويعيد الناتج الذي تعيده. البنية العامة scan(pattern) → array scan(pattern) {|match, ...| block } → str المعاملات pattern تعيبر نمطي أو سلسلة نصية يراد البحث عنها ومطابقتها في السلسلة النصية المعطاة. إن لم يحتوي هذا المعامل على مجموعات، فستتألف كل نتيجة فردية من السلسلة النصية المتطابقة (أي &$). أمَّا إن احتوى على مجموعات، فستكون كل نتيجة فردية مصفوفةً بحد ...

الدالة Regex.toPattern()‎ في Kotlin

تحول الدالة toPattern()‎ كائنًا من النوع Regex (تعبيرًا نمطيًا) إلى النوع Pattern (نمط). بناءً على ذلك، توفر هذه الدالة وسيلة لاستعمال الكائن Regex في المكان الذي يطلب فيه استعمال الكائن Pattern. البنية العامة fun toPattern(): Pattern المنصة المطلوبة: JVM. القيمة المعادة تعاد نسخةٌ من الصنف Pattern لها نفس السلسلة النصية النمطية (pattern string) والخيارات التي يملكها التعبير النمطي المعطى. أمثلة ينشِئ التابع Regex()‎ في الشيفرة التالية تعبيرًا نمطيًا باسم reg لمطابقة القيم العددية، ثم يُستدعَى معه الدالة toPattern()‎ لتحويل ذلك التعبير النمطي إلى النمط Pattern: fun main(args: Array<String>) ...

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

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

الدالة re.finditer()‎ في بايثون‎

تعيد الدالة كائنًا قابلًا للتكرار iterator ينتج عنه كائنات match لجميع حالات التطابق غير المتداخلة والناتجة من تطبيق التعبير النمطي المعطى على السلسلة النصية المعطاة. البنية العامة re.finditer(pattern, string, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. flags الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات. القيمة المعادة تعيد الدالة كائنًا قابلًا للتكرار iterator ينتج ...

الدالة re.match()‎ في بايثون‎

تفحص الدالة بداية السلسلة النصية بحثًا عن حالة تطابق مع التعبير النمطي المعطى، وتعيد كائن match المقابل. البنية العامة re.match(pattern, string, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. flags الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات. القيمة المعادة تعيد الدالة كائن match المقابل إن عثرت على صفر أو أكثر من المحارف في بداية ...

التابع Enumerable.grep_v في روبي

يعدُّ التابع grep_v نسخة معاكسة للتابع grep، إذ يعيد مصفوفة تحوي كل العناصر الغير مطابقة لنمط محدَّد من عناصر الكائن القابل للتعداد المعطى. البنية العامة grep_v(pattern) → array grep_v(pattern) { |obj| block } → array المعاملات pattern النمط المراد مطابقته لكل عنصر من عناصر الكائن القابل للتعداد المعطى. القيمة المعادة تعاد مصفوفة تحوي كل عنصر غير مطابق للنمط pattern من عناصر الكائن القابل للتعداد المعطى، أو القيم التي تعيدها الكتلة لكل عنصر غير مطابق للنمط بعد تمريره إليها. أمثلة مثال على استعمال التابع ...

الدالة repeat()‎

الدالة repeat()‎ في CSS تُكرِّر جزءًا من قائمة المسارات (track list)، مما يسمح بتعريف عدد كبير من الأعمدة والأسطر التي لها نمط تكرار معيّن بسهولة. يمكن أن تُستعمَل هذا الدالة مع الخاصية grid-template-columns و grid-template-rows. بطاقة الدالة /* <track-repeat> */ repeat(4, 1fr) repeat(4, [col-start] 250px [col-end]) repeat(4, [col-start] 60% [col-end]) repeat(4, [col-start] 1fr [col-end]) repeat(4, [col-start] min-content [col-end]) repeat(4, [col-start] max-content [col-end]) repeat(4, [col-start] auto [col-end]) repeat(4, [col-start] minmax(100px, 1fr) [col-end]) repeat(4, [col-start] fit-content(200px) [col-end]) repeat(4, 10px [col-start] 30% [col-middle] auto [col-end]) repeat(4, [col-start] min-content [col-middle] max-content [col-end]) /* <auto-repeat> */ repeat(auto-fill, 250px) repeat(auto-fit, ...

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

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

التابع Enumerable.grep في روبي

يعيد التابع grep مصفوفة تحوي كل عنصر مطابق لنمط محدَّد من عناصر الكائن القابل للتعداد الذي استدعي معه. إن أعطيت كتلة، فسيُمرَّر كل عنصر مطابق للنمط إليها ثم تعاد مصفوفة تحوي النتائج المقابلة التي تعيدها هذه الكتلة للعناصر المطابقة. البنية العامة grep(pattern) → array grep(pattern) { |obj| block } → array المعاملات pattern النمط المراد مطابقته لكل عنصر من عناصر الكائن القابل للتعداد المعطى. القيمة المعادة تعاد مصفوفة تحوي كل عنصر مطابق للنمط pattern من عناصر الكائن القابل للتعداد المعطى، أو القيم التي ...

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

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

التابع Enumerable.slice_before في روبي

يقطِّع التابع slice_before عناصر الكائن القابل للتعداد إلى أجزاء تحدَّد بدايتها عبر نمطٍ محدِّدٍ أو كتلةٍ معطاةٍ ثم يعيد مُعدِّد لكل جزء من الأجزاء الناتجة. البنية العامة slice_before(pattern) → an_enumerator slice_before { |elt| bool } → an_enumerator إن كان النمط مطابقًا للعنصر (أي يعيد pattern === elt القيمة true) أو أعادت الكتلة القيمة true للعنصر المُمرَّر إليها، فسيُعدُّ العنصر بدايةً لجزء. يُستدعَى المعامل === والكتلة block من أول عنصر وحتى آخر عنصر من عناصر الكائن القابل للتعداد المعطى. يجري دومًا تجاهل النتيجة ...

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

يبدل التابع sub!‎ قيمة محدَّدة مكان أول تطابق للنمط معطى في السلسلة النصية التي استدعي معها. هذا التابع مماثل تمامًا للتابع sub ولكن يعدل على السلسلة المعطاة نفسها. البنية العامة sub!(pattern, replacement) → str or nil sub!(pattern) {|match| block } → str or nil المعاملات pattern يكون عادةً تعبيرًا نمطيًّا. إن كان سلسلة نصية، فستُفسَّر أية محارف خاصة بالتعبيرات النمطية الموجودة فيها حرفيًّا؛ أي '‎\\d' سيطابق خط مائل عكسي يتبعه الحرف 'd' مباشرةً بدلًا من عددٍ. replacement إن كان سلسلة نصية، فسيحل مكان النص المتطابق. قد يحوي ...

التابع Enumerable.none?‎ في روبي

يتحقق التابع none?‎ من خلو كائن قابل للتعداد من أي عنصر محقِّق للكتلة المعطاة (لا تعيد مع أي عنصر القيمة true) أو مطابق للنمط محدَّد. البنية العامة none? [{ |obj| block }] → true or false none?(pattern) → true or false المعاملات pattern نمط يراد التحقق من عدم مطابقته لأي عنصر من عناصر الكائن القابل للتعداد المعطى. القيمة المعادة تعاد القيمة true إن لم تعيد الكتلة block القيمة true لجميع عناصر الكائن القابل للتعداد بعد تمرير كل واحد منها إليها، أو لم يتطابق ...

التابع FileTest.all?‎ في روبي

يُمرِّر التابع all?‎ كل عنصر من عناصر المجموعة التي استدعيت معه إلى الكتلة المعطاة ثمَّ يتحقق من عدم إعادة هذه الكتلة القيمة false أو nil مع كل عنصر من تلك العناصر. إن لم تعطَ أية كتلة، فستُضيف روبي الكتلة { ‎|obj| obj } والتي تدفع التابع لإعادة القيمة true عندما لا تكون قيمة كل عنصر من عناصر المجموعة هي false أو nil. إن مُرِّر نمط إلى التابع all?‎ بدلًا من الكتلة، فسيتحقق من تطابق هذا النمط مع كل عنصر من عناصر المجموعة المعطاة. ...

التابع 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 التعبير النمطي المراد مطابقته للسلسلة النصية المعطاة. إن ...

التابع Array.any?‎ في روبي

يتحقق التابع any?‎ إذا كان كل عنصر من عناصر المصفوفة المعطاة مححقًا لشرط منطقي محدد أو كانت قيمة كل عنصر لا تساوي القيمة false (أي لا يعيد أي عنصر القيمة false أو nil عند التحقق من مطابقته للشرط). إن لم تمرَّر أية كتلة برمجية تمثل الشرط، فستضيف روبي الكتلة { ‎ |obj| block} ضمنيًا، وسيعيد حينئذٍ التابع any?‎ القيمة true إن لم يتساوى أي عنصر من عناصر المصفوفة مع القيمة false أو القيمة nil. إن مرِّر نمطٌ (pattern) بدلًا من ...

التابع Enumerable.one?‎ في روبي

يتحقق التابع one?‎ من احتواء كائن قابل للتعداد على عنصر واحد فقط محقِّق للكتلة المعطاة (لا تعيد مع أي عنصر القيمة true باستثناء عنصر واحد فقط) أو مطابق للنمط محدَّد. البنية العامة one? [{ |obj| block }] → true or false one?(pattern) → true or false المعاملات pattern نمط يراد التحقق من مطابقته لعنصر واحد فقط من عناصر الكائن القابل للتعداد المعطى. القيمة المعادة تعاد القيمة true إن إن أعادت الكتلة block القيمة true لعنصر واحد فقط من عناصر الكائن القابل للتعداد بعد ...

التهيئة الأولية للصنف Regex في Kotlin

تنشئ الدالة Regex()‎ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. البنية العامة Regex(pattern: String) Regex(pattern: String, option: RegexOption) Regex(pattern: String, options: Set<RegexOption>) تنشئ الدالة Regex()‎ تعبيرًا نمطيًا من النمط pattern مع ضبطه وفقًا الخيار option أو مجموعة الخيارات options (أو القيمة الافتراضية لهذه الخيارات إن لم يعطَ الوسيط option) التي تضبط ذلك النمط. المعاملات pattern سلسلة نصية تمثل النمط الذي سينشأ منه تعبير نمطي. option كائن من النوع RegexOption يحوي خيارًا واحدًا من خيارات التعابير النمطية. options مجموعة تتألف من ...

التهيئة الأولية للصنف Regex في Kotlin

تنشئ الدالة Regex()‎ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. البنية العامة Regex(pattern: String) Regex(pattern: String, option: RegexOption) Regex(pattern: String, options: Set<RegexOption>) تنشئ الدالة Regex()‎ تعبيرًا نمطيًا من النمط pattern مع ضبطه وفقًا الخيار option أو مجموعة الخيارات options (أو القيمة الافتراضية لهذه الخيارات إن لم يعطَ الوسيط option) التي تضبط ذلك النمط. المعاملات pattern سلسلة نصية تمثل النمط الذي سينشأ منه تعبير نمطي. option كائن من النوع RegexOption يحوي خيارًا واحدًا من خيارات التعابير النمطية. options مجموعة تتألف من ...

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

الدالة preg_grep()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في PHP

(PHP 4, PHP 5, PHP 7) تُعيد الدالة preg_grep()‎‎ عناصر المصفوفة التي تطابق النمط. الوصف array preg_grep ( string $pattern , array $input [, int $flags = 0 ] ) تُعيد هذه الدالة مصفوفة تتكون من عناصر المصفوفة input والتي تتطابق مع النمط pattern المُدخَل. العوامل pattern النمط المراد البحث عنه، كسلسلة نصية. input المصفوفة المُدخَلة. flags إذا ضبطت على PREG_GREP_INVERT، فستُعيد هذه الدالة عناصر مصفوفة الإدخال التي لا تتطابق مع النمط pattern المُدخل. القيم المعادة تُعيد هذه الدالة مصفوفة مفهرسة ...

التابع sub‎ الخاص بالصنف Kernel في روبي

يكافئ التابع sub التعبير ‎‎‎$_‎.sub( args )‎ ، باستثناء أنه سيتم تحديث ‎$_‎ إذا حدث استبدال. متوفر فقط عند تحديد خيار سطر الأوامر ‎-p/-n. البنية العامة sub(pattern, replacement)→ $_ sub(pattern) {|...| block } → $_‎ القيمة المعادة يعاد ناتج استدعاء التعبير ‎‎‎$_‎.sub( args )‎. انظر أيضا التابع gsub: يكافئ التعبير ‎$_.gsub...‎، باستثناء أنه سيتم تحديث ‎$_‎ في حال حدوث استبدال. مصادر قسم التابع sub‎ في الصنف Kernel‎ في توثيق روبي الرسمي.

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

يُقسِّم التابع split السلسلة النصية التي استدعي معها إلى سلاسل نصية فرعية اعتمادًا على فاصل محدَّد ثم يعيد تلك السلاسل الفرعية في مصفوفة. البنية العامة scan(pattern) → array scan(pattern) {|match, ...| block } → str المعاملات pattern إن كان هذا المعامل سلسلة نصية، فستُسعمَل هذه السلسلة على أنَّها الفاصل الذي يفصل أجزاء السلسلة النصية المعطاة عن بعضها بعضًا. أمَّا إن كان هذا المعامل فراغًا واحدًا، فستُقسَّم السلسلة النصية المعطاة عند كل فراغ موجود بين كلماتها؛ وعند وجود أكثر من فراغ واحد، ...

التابع gsub‎ الخاص بالصنف Kernel في روبي

يكافئ التابع gsub التعبير ‎$_.gsub...‎، باستثناء أنه سيتم تحديث ‎$_‎ في حال حدوث استبدال. متوفر فقط عند تحديد خيار سطر الأوامر ‎-p/-n. البنية العامة gsub(pattern, replacement) → $_ gsub(pattern) {|...| block } → $_‎ القيمة المعادة يعاد ناتج استدعاء التعبير ‎$_.gsub...‎. انظر أيضا التابع gets: يعيد السطر التالي من قائمة الملفات في ARGV (أو ‎$‎‎*‎)، أو من مجرى الإدخال القياسي في حالة عدم تمرير أي ملفات في سطر الأوامر. مصادر قسم التابع gsub‎ في الصنف Kernel‎ في توثيق روبي الرسمي.

الدالة preg_replace()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في PHP

(PHP 4, PHP 5, PHP 7) تبحث الدالة preg_replace()‎‎‎ عن تعبير نمطي وتستبدله. الوصف mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) تبحث هذه الدالة في الهدف subject عن النمط المطابق pattern وتبدله إلى replacement. المعاملات pattern النمط المراد البحث عنه. ويمكن أن يكون إما سلسلةً نصيةً أو مصفوفةً من السلاسل النصية. وتتوافر أيضًا العديد من مُعدِّلات PCRE. replacement السلسلة النصية البديلة أو مصفوفة السلاسل النصية البديلة. إذا ...

التابع Enumerable.slice_after في روبي

يقطِّع التابع slice_after عناصر الكائن القابل للتعداد إلى أجزاء تحدَّد نهايتها عبر نمطٍ محدِّدٍ أو كتلةٍ معطاةٍ ثم يعيد مُعدِّد لكل جزء من الأجزاء الناتجة. البنية العامة slice_after(pattern) → an_enumerator slice_after { |elt| bool } → an_enumerator إن كان النمط مطابقًا للعنصر (أي يعيد pattern === elt القيمة true) أو أعادت الكتلة القيمة true للعنصر المُمرَّر إليها، فسيُعدُّ العنصر نهايةً لجزء. يُستدعَى المعامل === والكتلة block من أول عنصر وحتى آخر عنصر من عناصر الكائن القابل للتعداد المعطى. يُنتِج المُعدِّد المعاد العناصر ...

Python/pathlib/PurePath/match

 التابع PurePath.match يختبر هذا التابع مطابقة المسار لنمط اختبار المطابقة glob المعطى. البنية العامة تبدأ المطابقة من اليمين، ويمكن أن يكون النمط المعطى نسبيًّا وعندها بُمكن أن يكون المسار نسبيًّا أو مُطلقًا >>> PurePath('a/b.py').match('*.py') True >>> PurePath('/a/b/c.py').match('b/*.py') True >>> PurePath('/a/b/c.py').match('a/*.py') False أما إذا كان النمط مُطلقًا، فلا بد أن يكون المسار مُطلقًا أيضًا وأن يتطابق كامل المسار مع النمط >>> PurePath('/a.py').match('/*.py') True >>> PurePath('a/b.py').match('/*.py') False كما أن نكهة الصنف الخاصة بويندوز لا تهتم بحالة الحروف، على عكس النكهة الخاصة بباقي الأنظمة. >>> PureWindowsPath('b.py').match('*.PY') True >>> PurePosixPath('b.py').match('*.PY') False المعاملات الوسيط pattern هو النمط المطلوب مطابقته مع ...

التابع FileTest.any?‎ في روبي

يُمرِّر التابع any?‎ كل عنصر من عناصر المجموعة التي استدعيت معه إلى الكتلة المعطاة ثمَّ يتحقق من عدم إعادة هذه الكتلة القيمة false أو nil مع أي عنصر من تلك العناصر. إن لم تعطَ أية كتلة، فستُضيف روبي الكتلة { ‎|obj| obj } والتي تدفع التابع لإعادة القيمة true عندما لا تكون قيمة أحد عناصر المجموعة هي false أو nil. إن مُرِّر نمط إلى التابع any?‎ بدلًا من الكتلة، فسيتحقق من تطابق هذا النمط مع أحد عناصر المجموعة المعطاة. البنية العامة any? [{ ...

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

كائنات الصنف Dir هي مجاري مجلدات (directory streams) تمثِّل الجلدات في نظام الملفات الأساسي لنظام التشغيل. فهي توفر طرائق متعددة لعرض المجلدات ومحتوياتها. انظر أيضًا صفحة الصنف File لمزيد من المعلومات. يحوي المجلد المستخدم في الأمثلة الموجودة في صفحات التوابع ملفين عاديين هما: config.h و main.rb، بالإضافة إلى المجلد الأب (..) ، والمجلد نفسه (.). توابع الصنف العامة (Public Class Methods) المعامل [] يكافئ استدعاء Dir.glob([string,...], 0)‎.  chdir‎ يغيِّر مجلد العمل (working directory) الحالي للعملية الحالية إلى مجلَّدٍ محدَّدٍ. children ...

الوحدة string في بايثون

تضمّ وحدة string عددًا من الثوابت والأصناف المفيدة في معالجة السلاسل النصية. وتدعم السلاسل النصية في بايثون مجموعة التوابع الخاصّة بالنوع str إلى جانب التوابع الخاصّة بالوحدة string. تقدّم الوحدة string الصنفين التاليين: الصنف Formatter: يتيح هذا الصنف من خلال توابعه إنشاء عمليات تنسيق السلاسل النصية جديدة وتخصيصها حسب الرغبة وبنفس الأسلوب المتّبع في الدالة الداخلية format()‎. الصنف Template: يقدّم هذا الصنف طريقة أبسط لإجراء عمليات الاستبدال في السلاسل النصية والموصوفة في PEP 292. حيث يمكن إجراء عمليات الاستبدال باستخدام ...

الصنف ‎‎Regex‎ في Kotlin

يمثل الصنف Regex تعبيرًا نمطيا قابلًا للتعديل (immutable regular expression). إن أردت الاطلاع على المزيد من المعلومات المتعلقة بصياغة النمط (pattern)، انتقل إلى صفحة الصنف Pattern. actual class Regex : Serializable الدوال البانية <init> تنشئ الدالة Regex()‎ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الخاصيات options تمثل هذه الخاصية مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعي معها. pattern تمثل هذه الخاصية النمط الأولي الذي استُخدم في إنشاء التعبير النمطي الذي استُدعي معها. الدوال containsMatchIn ...

الصنف ‎‎Regex‎ في Kotlin

يمثل الصنف Regex تعبيرًا نمطيا قابلًا للتعديل (immutable regular expression). إن أردت الاطلاع على المزيد من المعلومات المتعلقة بصياغة النمط (pattern)، انتقل إلى صفحة الصنف Pattern. actual class Regex : Serializable الدوال البانية <init> تنشئ الدالة Regex()‎ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الخاصيات options تمثل هذه الخاصية مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعي معها. pattern تمثل هذه الخاصية النمط الأولي الذي استُخدم في إنشاء التعبير النمطي الذي استُدعي معها. الدوال containsMatchIn ...

تقرير الوحدات في TypeScript

قراءة هذه الصفحة تتطلّب فهمًا عامًّا للوحدات. انظر توثيق الوحدات للاستزادة. تقريرُ (أو حلُّ) الوحداتِ (Module resolution)، هي العمليّة التي يعتمد عليها المترجم (compiler) لاكتشاف ما يُشير إليه استيرادٌ (import) معيّن. لنفترض مثلًا أنّ لدينا جملة استيرادٍ كما يلي: ‎import { a } from "moduleA"‎‎؛ للتحقّق من أيّ اعتمادٍ على المتغيّر ‎a‎، فإنّ المترجم بحاجةٍ إلى فهم ما يُمثّله المتغيّر بالضبط، وسيتطلّب ذلك التحقق من تعريفه في الوحدة ‎moduleA‎. سيسأل المُترجم كبدايةٍ عن شكل الوحدة ‎moduleA‎، وقد تكون الوحدة مُعرّفةً ...

الدالة Regex_1 في Kotlin

أصبحت الدالة Regex_1 مهملة، إذ كانت متوافرة من أجل التوافقية الثنائية (binary compatibility). تنشئ هذه الدالة تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة مع استعمال الخيارات الافتراضية. البنية العامة fun Regex_1(pattern: String): Regex (source) المعاملات pattern سلسلة نصية تمثل النمط الذي سينشأ منه تعبير نمطي. القيم المعادة يعاد كائن من النوع Regex يحتوي على التعبير النمطي pattern بعد ضبطه وفقًا للقيمة الافتراضية للخيارات. انظر أيضًا الدالة Regex()‎: تنشئ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الدالة findAll()‎: تبحث عن جميع المحارف المتطابقة مع التعبير النمطي الذي استُدعي معها في سلسلة المحارف الممرَّرة ...

الدالة re.compile()‎ في بايثون

تصرّف الدالة التعبير النمطي إلى كائن تعبير نمطي regex يمكن استخدامه للمطابقة بواسطة توابعه الخاصّة match()‎ و search()‎ وغيرها. البنية العامة re.compile(pattern, flag=0) المعاملات pattern التعبير النمطي المراد تصريفه. flags يمكن تحديد طريقة التعامل مع التعبير النمطي باستخدام قيم الرايات، ويمكن استخدام أكثر من راية وذلك بفصلها بعامل OR الخاص بالأعداد الثنائية (العامل |). يمكن استخدام المتغيرات التالية كقيم للمعامل flags: re.A re.ASCII يؤدي استخدام هذه الراية إلى جعل عملية المطابقة الخاصة بالتسلسلات ‎\w ،\W ،\b ،\B ،\d ،\D ،\s ...

الدالة Regex_0 في Kotlin

أصبحت الدالة Regex_0 مهملة، إذ كانت متوافرة من أجل التوافقية الثنائية (binary compatibility). تنشئ هذه الدالة تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية والخيارات المُمرّرة إليها. البنية العامة fun Regex_0(pattern: String, option: RegexOption): Regex منصة التشغيل المطلوبة: JS. المعاملات pattern سلسلة نصية تمثل النمط الذي سينشأ منه تعبير نمطي. option كائن من النوع RegexOption يحوي خيارًا واحدًا من خيارات التعابير النمطية. القيم المعادة يعاد كائن من النوع Regex يحتوي على التعبير النمطي pattern بعد ضبطه وفقًا للخيار option. انظر أيضًا الدالة Regex()‎: تنشئ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الدالة containsMatchIn()‎: تتحقق ...

قوالب ملفات التصريحات في TypeScript

هذه ملفّات تصريحاتٍ ستساعدك كبدايةٍ لكتابة ملفّاتك الخاصّة، انظر صفحة هياكل المكتبات للتعرف على الملفّ الذي يجب عليك استخدامه. ‎ module.d.ts ‎ module-class.d.ts ‎ module-function.d.ts global.d.ts ‎module-plugin.d.ts‎ ‎global-plugin.d.ts‎ global-modifying-module.d.ts‎ مصادر صفحة Templates في توثيق TypeScript الرسمي.

إضافة العولمة في كوردوفا

تمكّن إضافة العولمة (cordova-plugin-globalization) من الحصول على معلومات حول الإعدادات المحلية واللغوية والزمنية للمستخدم. لاحظ الفرق بين الإعدادات المحلية (locale) وبين اللغة: الإعدادات المحلية تتحكم في كيفية عرض الأرقام والتواريخ والأوقات في منطقة معيّنةٍ، بينما تحدد "اللغة" لغةَ النصوص، بصرف النظر عن الإعدادات المحلية. يستخدم المطورون في كثير من الأحيان الإعدادات المحلية لضبط كلا الإعدادين، ولكن لا يوجد سبب يمنع المستخدم من تعيين اللغة إلى "العربية"، مع تعيين الإعدادات المحلية إلى "الفرنسية"، بحيث يتم عرض النص باللغة العربية، ولكن مع ...

الدالة preg_replace_callback()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في PHP

(PHP 4 >= 4.0.5, PHP 5, PHP 7) تبحث الدالة preg_replace_callback()‎‎ عن تعبير نمطي وتستبدله باستخدام دالة مُعرَّفة من المستخدم. الوصف mixed preg_replace_callback ( mixed $pattern , callable $callback , mixed $subject [, int $limit= -1 [, int &$count ]] ) يتطابق سلوك هذه الوظيفة تقريبًا مع الدالة preg_replace()‎‎، باستثناء أنه يجب تحديد الدالة المُعرَّفة من المستخدم callback بدلاً من المعامل replacement. المعاملات pattern النمط المراد البحث عنه. ويمكن أن يكون إما سلسلةً نصيةً أو مصفوفةً من السلاسل النصية. callback الدالة ...

تبديل المعاملات باستدعاءات التوابع (Replace Parameter with Method Call)

المشكلة استدعاء تابع استعلام (query method) وتمرير نتائجه كمعاملات لتابع آخر، في حين أنه يمكن لهذا التابع استدعاء الاستعلام مباشرة. الحل بدلًا من تمرير القيمة من خلال المعامل، حاول وضع استدعاء الاستعلام داخل متن التابع. مثال قبل إعادة التصميم تخزين القيمة التي يعيدها كلٌّ من التابعين ()getSeasonalDiscount و ()getFees في متغير ثم تمريرها إلى التابع ()discountedPrice: في لغة Java: int basePrice = quantity * itemPrice; double seasonDiscount = this.getSeasonalDiscount(); double fees = this.getFees(); double finalPrice = discountedPrice(basePrice, seasonDiscount, fees); في لغة C#‎: int basePrice ...

استبدال المعامل بتوابع صريحة (Replace Parameter with Explicit Methods)

المشكلة ينقسم التابع إلى أجزاء، كل منها يتم تشغيله اعتمادًا على قيمة المعامل. الحل استخراج الأجزاء الفردية من التابع إلى توابعها الخاصة واستدعائها بدلًا من استدعاء التابع الأصلي. مثال قبل إعادة التصميم وجود تابع يدعى ()setValue يضبط قيمة الارتفاع والعرض بناءً على تمرير سلسلة نصية صريحة بذلك: في لغة Java: void setValue(String name, int value) { if (name.equals("height")) { height = value; return; } if (name.equals("width")) { width ...

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