نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
مُعدِّلات النمط Pattern Modifiers
فيما يلي مُعدِّلات PCRE الحالية الممكنة. وتشير الأسماء الموجودة بين قوسين إلى أسماء PCRE الداخلية لها. وتُتَجاهل المسافات والسطور الجديدة في المعدّلات، بينما تتسبب الأحرف الأخرى في حدوث خطأ. i (PCRE_CASELESS) إذا ضُبِط هذا المُعدِّل، تتطابق الحروف في النمط مع الحروف الكبيرة والصغيرة. m (PCRE_MULTILINE) تعامل PCRE سلسلةَ الهدف افتراضيًا كما لو كانت مكونة من "سطر" واحد من الحروف (حتى إذا كان يحتوي بالفعل على عدة سطور جديدة). ويتطابق الحرف الخاص "بداية السطر" ورمزه ^ فقط في بداية السلسلة النصية، ...
الوسيط (Middle Man)
توصيف المشكلة عندما يكون للصنف (class) مهمةٌ واحدةٌ فقط وهي تفويض المهام (delegation) لصنفٍ آخر، فما أهمية وجوده بالأصل؟ أسبابها قد تنتج المشكلة عن التخلُّص المفرط من الاستدعاءات المتسلسلة كعلاجٍ لمشكلة سلاسل الرسائل (message chains). أو قد تنتُج عن النقل التدريجيّ للصنف (class) إلى أصناف أخرى ليبقى الصنف الأصليّ فارغًا إلا من أوامر التفويض (delegation). وما الحل؟ حذف الوسيط (remove middle man) إن كانت معظم أصناف التابع (method's classes) تفوِّض المهام (delegate) إلى صنفٍ آخر. إليك المزيد ستحصل بحلِّ المشكلة ...
الربط بين الجداول
تخزن البيانات عادةً في قواعد البيانات بأكثر من جدول لتسهيل تنظيمها وإدارتها، وتُربط هذه الجداول فيما بينها من خلال الأعمدة المترابطة فيما بينها، وذلك بالاعتماد على مفهومي المفتاح الأولي Primary Key والمفتاح الثانوي Foreign Key، وله عدة أنواع ستُذكر تباعًا. أنواع ربط الجداول توجد عدة أنواع للربط بين جدولين (أو أكثر)، إذ يسمى الجدول الأول يساريًا والجدول الثاني يمينًا: الربط الداخلي INNER JOIN: تحديد بعض السجلات من الجدول اليساري والجدول اليميني بحيث تحقق شرط الربط. الربط اليساري LEFT JOIN: تحديد ...
المعامل 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 ...
استخدام التعليمة Switch
توصيف المشكلة وجود تركيبٍ معقَّدٍ لتعليمة switch أو عدّة تعليمات if متسلسلة. أسبابها ما يميِّز البرمجة كائنيّة التوجّه (OO) هو اعتمادها النادر على المعاملين switch و case، إذ تُوزَّع شيفرة switch بمواقع مختلفة من البرنامج بدلًا من تجمعيها في تعليمة switch واحدةٍ، وعند إضافة شرطٍ جديدٍ عليك إيجاد كافّة شيفرات switch لتعديلها، وكقاعدة عامّة: وجود تعليمة switch يعني أن عليك البدء بالتفكير بمبدأ التعدديّة الشكليّة (polymorphism). وما الحل؟ عزل تعليمة switch ووضعها بالصنف الصحيح عبر إنشاء صنفٍ (class) ونقل التابع ...
الربط اليساري 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 ...
التابع singleton_method_undefined في الصنف BasicObject في روبي
يُستدعى التابع singleton_method_undefined كرد نداءٍ (callback) في كل مرة يكون فيها تابع منفرد (singleton method) غير مُعرَّف (undefined) في المُستقبِل (receiver). البنية العامة singleton_method_undefined(symbol)
أمثلة مثال على استخدام التابع singleton_method_undefined: module Chatty
def Chatty.singleton_method_undefined(id)
puts "Undefining #{id.id2name}"
end
def Chatty.one() end
class << self
undef_method(:one)
end
end
يظهر هذا المثال عند تنفيذه المخرجات التالية: Undefining one
انظر أيضًا التابع singleton_method_added: يُستَدعى هذا التابع كرد نداءٍ (callback) في كلِّ مرة يُضاف فيها تابع منفرد (singleton method) ...
التابع singleton_method_removed في الصنف BasicObject في روبي
يُستَدعى التابع singleton_method_removed كرد نداءٍ (callback) في كل مرة يُحذف فيها تابع منفرد (singleton method) من المُستقبِل (receiver). البنية العامة singleton_method_removed(symbol)
أمثلة مثال على استخدام التابع singleton_method_removed: module Chatty
def Chatty.singleton_method_removed(id)
puts "Removing #{id.id2name}"
end
def self.one() end
def two() end
def Chatty.three() end
class << self
remove_method :three
remove_method :one
end
end
يظهر هذا المثال عند تنفيذه المخرجات التالية: Removing three
Removing one
...
التابع singleton_method_added في الصنف BasicObject في روبي
يُستَدعى التابع singleton_method_added كرد نداءٍ (callback) في كلِّ مرة يُضاف فيها تابع منفرد (singleton method) جديد إلى المُستقبِل (receiver). البنية العامة singleton_method_added(symbol)
أمثلة مثال على استخدام التابع singleton_method_added: module Chatty
def Chatty.singleton_method_added(id)
puts "Adding #{id.id2name}"
end
def self.one() end
def two() end
def Chatty.three() end
end
يظهر هذا المثال عند تنفيذه المخرجات التالية: Adding singleton_method_added
Adding one
Adding three
انظر أيضًا التابع singleton_method_removed: يُستَدعى هذا التابع كرد نداءٍ ...
التابع Module.to_s في روبي
يعيد التابع to_s سلسلة نصية تمثل الوحدة أو الصنف الذي استدعي معه. بالنسبة للأصناف والوحدات الأساسية (basic)، سيُعاد الاسم. بالنسبة للأصناف أو الوحدات المُفردات (singletons)، تعاد أيضًا معلومات عن الأشياء التي ترتبط بهذه الوحدة أو الصنف. يملك هذا التابع اسمًا بديلًا هو inspect. البنية العامة to_s→ string
القيمة المعادة تعاد سلسلة نصية تمثل هذه الوحدة أو الصنف. انظر أيضا التابع singleton_class?: يتحقق إن كان الصنف الذي استدعي معه صنفا مفردًا (singleton class). مصادر قسم التابع to_s في الصنف Module في توثيق روبي ...
الصنف Object في روبي
يعدُّ الصنف Object الجذر الافتراضي لكل كائنات روبي. يَرِث الصنف Object من الصنف BasicObject ما يسمح بإنشاء تسلسلات هرمية بديلة للكائن. تُتاح توابع الكائن لكل الأصناف ما لم يتم تجاهلها (overridden) صراحةً. تندمج الوحدة Kernel ضمن الصنف Object ما يعطي الوصول العام (global) للدّوال المبنية ضمنيًّا في الوحدة. رغم أنَّ توابع النسخة المنشأة من الصنف Object معرَّفةٌ عن طريق الوحدة Kernel، رأينا أن نوثّقهم هنا لمزيد من الوضوح. عند الإشارة (referencing) إلى الثوابت في الأصناف الوارثة من الصنف Object، لا ...
مفاتيح الجداول
تستخدم المفاتيح بهدف الربط ما بين الجداول في قواعد البيانات. المفتاح الأوليّ PRIMARY KEY هو عمود (أو أكثر) من الجدول والذي يميّز السجلات عن بعضها، تكون القيم فيه فريدة (غير مكررة) ولا يمكن ألّا يحتوي قيمة (قيمته NULL)، ويكون للجدول مفتاح أولي وحيد. المفتاح الثانويّ FOREIGN KEY هو عمود (أو أكثر) من الجدول والذي يمكن عدّه مرجعيةً (reference) لعمود آخر في جدول ثانٍ (وغالبًا ما يكون هذا العمود هو المفتاح الأولي للجدول الثاني). مثال تحتوي قاعدة بيانات أحد المراكز التعليمية ...
مقدمو الخدمات (Service Providers) في Laravel
مقدمة مقدمو الخدمات هن الموقع المركزي لكامل عمليات تمهيد تطبيق Laravel. تطبيقك، ككامل خدمات Laravel الجوهرية، مُمَهَّد عبر مقدمي الخدمات. لكن ما الذي نقصده "بالتمهيد" (bootstrapping)؟ نقصد به عمومًا تسجيل الأشياء، بما في ذلك تسجيل ارتباطات حاويات الخدمات، ومنصتات الأحداث، والبرمجيات الوسيطة، وحتى المسارات (routes). مقدمو الخدمات هي المكان المركزي لإعداد تطبيقك مثلما ذكرنا سابقًا. إن فتحت الملف config/app.php المتضمن في Laravel فسترى المصفوفة providers، والتي تمثّل كل أصناف مقدمي الخدمات التي سَتُحَمَّل من أجل تطبيقك. كثير منهن طبعا مقدمون ...
الدالة Regex.toPattern() في Kotlin
تحول الدالة toPattern() كائنًا من النوع Regex (تعبيرًا نمطيًا) إلى النوع Pattern (نمط). بناءً على ذلك، توفر هذه الدالة وسيلة لاستعمال الكائن Regex في المكان الذي يطلب فيه استعمال الكائن Pattern. البنية العامة fun toPattern(): Pattern
المنصة المطلوبة: JVM. القيمة المعادة تعاد نسخةٌ من الصنف Pattern لها نفس السلسلة النصية النمطية (pattern string) والخيارات التي يملكها التعبير النمطي المعطى. أمثلة ينشِئ التابع Regex() في الشيفرة التالية تعبيرًا نمطيًا باسم reg لمطابقة القيم العددية، ثم يُستدعَى معه الدالة toPattern() لتحويل ذلك التعبير النمطي إلى النمط Pattern: fun main(args: Array<String>) ...
التابع Module.singleton_class? في روبي
يتحقق التابع singleton_class? إن كان الصنف الذي استُدعي معه صنفا مفردًا (singleton class). البنية العامة singleton_class? → true or false
القيمة المعادة تعاد القيمة true إن كان الصنف المعطى صنفا مفردًا، وإلا فستعاد القيمة false . أمثلة مثال على استخدام التابع singleton_class?: class C
end
C.singleton_class? #=> false
C.singleton_class.singleton_class? #=> true
انظر أيضا التابع to_s: يعيد سلسلة نصية تمثل هذه الوحدة أو الصنف. مصادر قسم التابع singleton_class? ...
الصنف BasicObject في روبي
الصنف BasicObject هو الصنف الأب لجميع الأصناف في روبي، وهو صنف فارغ. يمكن استخدام الصنف BasicObject لإنشاء هرميات كائنية (object hierarchies) مستقلة عن الهرمية الكائنية للغة روبي، أو لإنشاء مغلفات الكائنات (proxy objects) مثل الصنف Delegator، أو حيث يجب تجنب إفساد مجال الأسماء (namespace pollution) من قبل توابع وأصناف روبي. لتجنب إفساد الصنف BasicObject للمستخدمين الآخرين، يجب إنشاء صنف فرعي من الصنف BasicObject تحت اسم مناسب بدلاً من تعديل BasicObject مباشرةً: class MyObjectSystem < BasicObject
end
لا يتضمَّن الصنف BasicObject الوحدة Kernel ...
التابع 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 في توثيق روبي الرسمي.
التابع 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. في التعابير النظامية. ...