نتائج البحث

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

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

(PHP 4, PHP 5, PHP 7) تغيِّر الدالة chown()‎ مالك الملف. الوصف bool chown ( string $filename , mixed $user ) تحاول هذه الدالة تغيير مالك الملف filename إلى المالك الجديد user. المستخدم ذو امتيازات مدير النظام الذي يملك كافَّة صلاحيات الوصول (superuser) قادرٌ وحده على تغيير مالك الملف. المعاملات filename مسار الملف الذي ستُجرى عليه العمليَّة. user اسم المالك الجديد أو رقم مُعرِّفه. القيم المعادة تُعاد القيمة TRUE عند نجاح العملية، والقيمة FALSE خلاف ذلك. أمثلة المثال 1: استعمال الدالة ...

الخاصية perspective-origin

الخاصية perspective-origin في CSS تُحدِّد الموضع الذي ينظر منه المستخدم إلى العنصر، وتُستخَدم قيمة هذه الخاصية كنقطة التلاشي (vanishing point) من الخاصية perspective. بطاقة الخاصية القيمة الابتدائية 50% 50% تُطبَّق على جميع العناصر. قابلة للوراثة لا قابلة للتحريك نعم القيمة المحسوبة كما حُدِّدَت. /* قيمة واحدة */ perspective-origin: x-position; /* قيمتان */ perspective-origin: x-position y-position; /* يمكن قلب القيم إذا استعملنا كلمات محجوزة */ perspective-origin: y-position x-position; /* القيم العامة */ perspective-origin: inherit; perspective-origin: initial; perspective-origin: unset; أمثلة مثال يوضح تأثير قيمة الخاصية perspective-origin على شكل العنصر في الفضاء ...

الخاصية will-change

الخاصية will-change في CSS تسمح للمطورين بأخبار المتصفحات ما هي التغييرات المتوقع إجراؤها على العنصر، لكي يتمكن المتصفح من ضبط تحسينات الأداء قبل حدوث التغيير، وهذه التحسينات ستزيد من استجابة الصفحة عبر القيام بالحسابات اللازمة قبل وقوع التغيير. بطاقة الخاصية القيمة الابتدائية auto تُطبَّق على جميع العناصر. قابلة للوراثة لا قابلة للحركة لا القيمة المحسوبة كما حُدِّدَت. /* كلمات محجوزة */ will-change: auto; will-change: scroll-position; will-change: contents; will-change: transform; /* <custom-ident> */ will-change: opacity; ...

التابع Cursor.execute()‎ في بايثون

ينفّذ التابع جملة SQL المعطاة. البنية العامة execute(sql[, parameters]) ‎المعاملات sql سلسلة نصية تتضمن جملة SQL المراد تنفيذها. يمكن استخدام جمل تتضمن معاملات (أي استخدام محتوى نائب placeholder عوضًا عن الحروف). تدعم وحدة sqlite3 نوعين من المحتويات النائبة، هما: علامة الاستفهام (نمط qmark) ومحتوى نائب مسمّى (نمط التسمية). ينفّذ تابع execute()‎ جملة SQL واحدة، ويطلق التابع تحذيرًا في حال استخدام أكثر من جملة واحدة. يمكن استخدام التابع executescript()‎ لتنفيذ جمل متعددة في استدعاء واحد. أمثلة يبين المثال التالي طريقة استخدام ...

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

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

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

(PHP 5 >= 5.3.0, PHP 7) تستدعي الدالة forward_static_call_array()‎ دالةً ساكنةً (static) تابعةً لصنف (method) وتمرّر مصفوفة من المعاملات. الوصف mixed forward_static_call_array ( callable $function , array $parameters ) تستدعي الدّالة forward_static_call_array()‎ دالة معرّفة من قبل المستخدم أو دالة تابعة لصنف ممرّرة بالمعامل function، مع الوسطاء التاليين. يجب أن تستدعى هذه الدّالة داخل سياق دالة تابعة لصنف، ولا يمكن استخدامها خارج الصنف. وهي تستخدم الروابط الساكنة المتأخرة. إذ تمرّر جميع وسطاء الدالة الممرّة التابعة لصنف على شكل قيّم، وعلى شكل ...

التابع Cursor.executemany()‎ في بايثون

ينفّذ التابع أمر SQL على جميع تسلسلات المعاملات parameter sequences أو الروابط mappings الموجودة في تسلسل المعاملات المعطى. البنية العامة executemany(sql, seq_of_parameters) ‎المعاملات sql سلسلة نصية تتضمن جمل SQL المراد تنفيذها. seq_of_parameters ينفّذ التابع أمر SQL على جميع تسلسلات المعاملات parameter sequences أو الروابط mappings الموجودة في التسلسل seq_of_parameters. تسمح وحدة sqlite3 كذلك باستخدام مكرِّر ينتج معاملات بدلًا عن إنتاج تسلسل. أمثلة يبين المثال التالي طريقة استخدام التابع: import sqlite3 class IterChars: def __init__(self): ...

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

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

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

(PHP 4, PHP 5, PHP 7) تُسجل الدالة register_shutdown_function()‎ دالة لتُنفّذ عند إنهاء التشغيل. الوصف void register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] ) تُسجل الدالة register_shutdown_function()‎ دالة رد النداء ليتم تنفيذها بعد الانتهاء من تنفيذ السكربت أو بعد استدعاء الدالة exit()‎. من الممكن إجراء استدعاءات متعددة للدالة register_shutdown_function()‎، وستُستدعى كلٌ منها بالترتيب الذي سُجِّلَت به. فإذا استدعيت الدالة exit()‎ داخل دالة إيقاف تشغيل مُسجلة، فستتوقف المعالجة بالكامل ولن تُستدعى أية دالة إيقاف تشغيل أخرى ...

هوس الحقول الأساسية (Primitive Obsession)

توصيف المشكلة تظهر المشكلة بعدَّة جوانب: استخدام الحقول الأساسيّة (primitives) بدلًا من الكائنات (objects) لأداء المهامّ البسيطة (مثل: عمليات العملة [currency] والمجالات [ranges] والسلاسل النصية [strings] المُخصَّصة للأرقام الهاتفية، …إلخ.). استخدام الثوابت (constants) لترميز المعلومات (مثل استخدام الثابت USER_ADMIN_ROLE = 1 للدلالة على المستخدمين ذوي الصلاحيّات الإداريّة). استخدام الثوابت النصيّة (string constants) كأسماءٍ للحقول (fields) في مصفوفات البيانات (data arrays). أسبابها تنشأ هذه المشكلة بسبب العبارة المُدمِّرة التي يفكّر بها المبرمجون بلحظة ضعفٍ: "حقلٌ واحدٌ فقط، ولتخزين معلومةٍ بسيطةٍ وحسب!"ولأنهم ...

التابع Method.owner‎ في روبي

يعيد التابع owner الصنف أو الوحدة (module) التي تُعرِّف الكائن Method الذي استُدعي معه. البنية العامة owner → class_or_module‎ القيمة المعادة يعاد الصنف أو الوحدة التي تُعرِّف الكائن Method المعطى. انظر أيضا التابع original_name: يعيد الاسم الأصلي للتابع الذي استُدعي معه. التابع parameters: يعيد معلومات عن وسائط التابع الذي استُدعي معه. مصادر قسم التابع owner‎ في الصنف Method‎ في توثيق روبي الرسمي.

String.prototype.includes()‎

الدالة String.prototype.includes()‎ تُحدِّد إن كانت تحتوي سلسلةٌ نصيةٌ على سلسلةٍ نصيةٍ أخرى، وتُعيد القيمة true أو false. البنية العامة str.includes(searchString[, position]) searchString السلسلة النصية التي سيُبحَث عنها ضمن السلسلة النصية الأصلية. position قيمة اختيارية، وهي الموضع ضمن السلسلة النصية التي نريد البدء منه في البحث عن السلسلة النصية searchString، القيمة الافتراضية هي 0. القيمة المعادة القيمة true إذا عُثِرَ على السلسلة النصية searchString في أيّ مكان ضمن السلسلة النصية الأصلية، وإلا فستُعاد القيمة false. الوصف هذه الدالة تسمح لنا بمعرفة ...

التابع UnboundMethod.owner‎ في روبي

يعيد التابع owner الصنف أو الوحدة (module) التي تعرف التابع الحر الذي استدعي معه. البنية العامة owner → class_or_module‎ القيمة المعادة يعاد الصنف أو الوحدة (module) التي تعرف التابع الحر. انظر أيضًا التابع original_name: يعيد الاسم الأصلي للتابع الحر الذي استُدعي معه. التابع parameters: يعيد معلومات عن معاملات التابع الحر الذي استُدعي معه. مصادر قسم التابع owner‎ في الصنف UnboundMethod‎ في توثيق روبي الرسمي.

التابع Method.receiver‎ في روبي

يعيد التابع receiver المستقبل المتلقي (bound receiver) للكائن Method الذي استُدعي معه. البنية العامة receiver → object‎ القيمة المعادة يعاد المستقبل المتلقي (bound receiver) للكائن Method المعطى. انظر أيضا التابع parameters: يعيد معلومات عن معاملات الكائن Method الذي استُدعي معه. التابع source_location: يعيد اسم الملف المصدر لروبي ورقم السطر الذي يحتوي كائن Method الذي استُدعي معه.. مصادر قسم التابع receiver‎ في الصنف Method‎ في توثيق روبي الرسمي.

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

يحرِّك التابع seek المؤشِّر الحالي في المجرى ARGF إلى موقع محدد. البنية العامة seek(amount, whence=IO::SEEK_SET) → 0 المعاملات amount قيمة إزاحة موقع المؤشِّر بالبايت. إن أردت تحريك المؤشِّر انطلاقًا من نهاية الملف، فمرِّر قيمة سالبة للمعامل amount ثمَّ حدِّد القيمة ‎:END أو IO::SEEK_END للمعامل whence. whence قيمة هذا المعامل هي إحدى القيم التالية: ‎:SET أو IO::SEEK_SET: تغيير موقع المؤشِّر إلى قيمة المعامل amount المعطاة بالبايت انطلاقًا من البداية. ‎:CUR أو IO::SEEK_CUR: تغيير موقع المؤشِّر إلى قيمة المعامل amount المعطاة بالبايت ...

CSS/Topics/Background

الخاصية الوصف background الخاصية background المختصرة في CSS تسمح لنا بتعديل خيارات تنسيق الخلفية كلها دفعةً واحدةً، بما في ذلك اللون أو الصورة، والمبدأ والحجم، وطريقة التكرار، وغير ذلك من الميزات. يمكن استخدام الخاصية background لضبط قيم خاصية أو أكثر من الخاصيات الآتية: background-clip، و background-color، و background-image، و background-origin، وbackground-position، و background-repeat، و background-size، و background-attachment. background-attachment تُحدِّد إذا كان موضع الصورة (المُحدَّدة عبر الخاصية background-image) ثابتًا (fixed) ضمن إطار العرض (viewport) أو كان سيُمرَّر عند التمرير في العنصر (أو الصفحة) الحاوي له. background-blend-mode تصف كيف يجب أن تمتزج صور الخلفية ...

التابع Rational.negative?‎‎ في روبي

يتحقق التابع negative?‎ إن كان العدد الجذري الذي استدعي معه أصغر من 0. البنية العامة negative? → true or false‎ القيمة المعادة تعاد القيمة true إن كان العدد الجذري المعطى أصغر من 0، وإلا فستُعاد القيمة false. انظر أيضًا التابع positive?‎:يتحقق إن كان العدد الجذري الذي استدعي معه أكبر من 0. مصادر قسم التابع negative?‎ في الصنف Rational في توثيق روبي الرسمي.

Array.prototype.copyWithin()‎

الدالة Array.prototype.copyWithin()‎ تنسخ جزءًا من المصفوفة إلى مكانٍ آخر فيها نسخًا سطحيًا، وتُعيد هذا الجزء دون تعديل طول المصفوفة. ['alpha', 'bravo', 'charlie', 'delta'].copyWithin(2, 0); // ["alpha", "bravo", "alpha", "bravo"] البنية العامة arr.copyWithin(target[, start[, end]]) target الفهرس (العد يبدأ من الصفر) الذي ستوضع العناصر المنسوخة فيه، وإذا كانت هذه القيمة سالبةً فسيبدأ العد من النهاية. إذا كانت قيمة هذا الوسيط تساوي أو أكبر من arr.length، فلن يُنسَخ أيّ عنصر، وإذا كانت هذه القيمة أكبر من start، فسيُقتَطَع الجزء المنسوخ ليتسع في arr.length. ...

مهيئ الكائنات في JavaScript

يمكن تهيئة الكائنات باستخدام new Object()‎ أو الدالة Object.create()‎ أو باستخدام الشكل المختصرة (initializer notation). إنَّ مُهيّئ الكائنات هو قائمة فيها «صفر» زوج أو أكثر من أسماء الخاصيات مع القيم المرتبطة بها، مفصولةٌ بفواصل، ويحيط بها قوسين معقوفين {}. البنية العامة var o = {}; var o = {a: 'foo', b: 42, c: {}}; var a = 'foo', b = 42, c = {}; var o = {a: a, b: b, c: c}; var o = { property: function ([parameters]) {}, get property() ...

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

(PHP 4, PHP 5, PHP 7) تستدعي الدالة call_user_func()‎ دالةَ رد النداء callback المُمرَّرة في المعامل الأول. الوصف mixed call_user_func ( callable $callback [, mixed $parameter[, mixed $... ]] ) تستدعي الدالة call_user_func()‎ دالةَ رد النداء المُمرَّرة كأوّل معامل مع تمرير المعاملات البقية لهذه الدالة كوسائط لدالة رد النداء. المعاملات callback دالة رد النداء (callback function) التي نريد استدعاءها. parameter صفر أو أكثر من المعاملات التي نريد تمريرها كوسائط إلى دالة رد النداء. لاحظ أن المعاملات المعطية في call_user_func()‎ لا تمرّر ...

تقنيات إعادة التصميم (Refactoring Techniques)

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

التابع UnboundMethod.source_location‎ في روبي

يعيد التابع source_location اسم الملف المصدر لروبي ورقم السطر الذي يحتوي هذا التابع الحر، أو يعيد nil إن لم يُعرّف هذا التابع في روبي (أي أنه أصلي). البنية العامة source_location → [String, Integer]‎ القيمة المعادة تعاد مصفوفة من عنصرين تحوي اسم الملف المصدر لروبي ورقم السطر الذي يحتوي التابع الحر المعطى، أو تعاد القيمة nil إن لم يُعرّف هذا التابع في روبي. انظر أيضًا التابع parameters: يعيد معلومات عن معاملات التابع الحر الذي استُدعي معه. التابع super_method: يعيد كائنا من النوع Method ...

المبالغة والإطالة (Bloaters)

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

المبالغة والإطالة (Bloaters)

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

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

يتحقق التابع negative?‎ إن كان العدد الذي استُدعي معه عددًا سالبًا. البنية العامة negative? → true or false‎ القيمة المعادة تعاد القيمة true إن كان العدد الذي استُدعي معه عددًا سالبًا. خلا ذلك، تعاد القيمة false. انظر أيضا التابع integer?‎: يتحقق إن كان العدد الذي استُدعي معه من النوع Integer. التابع nonzero?‎: يعيد العدد الذي استُدعي معه إن كان غير صفري، أو يعيد القيمة nil خلاف ذلك. التابع positive?‎: يتحقق إن كان العدد الذي استُدعي معه عددًا موجبًا. مصادر قسم التابع negative?‎ ...

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

(PHP 4, PHP 5, PHP 7) تُحصي الدالة count()‎ جميع العناصر في مصفوفة، أو شيء ما في كائن. الوصف int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ) تُحصي هذه الدالة جميع العناصر في مصفوفة، أو شيء ما في كائن. بالنسبة للكائنات، إذا كانت مكتبة PHP القياسية SPL مثبتة لديك، فيمكنك ربط count()‎ عبر واجهة التطبيق Countable. وتحتوي الواجهة على دالة واحدة، Countable :: count()‎، وهي نفسها التي تُعيد القيمة المُعادة للدالة count()‎. الرجاء مراجعة قسم array من الدليل ...

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

(PHP 4, PHP 5, PHP 7) تُحصي الدالة count()‎ جميع العناصر في مصفوفة، أو شيء ما في كائن. الوصف int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ) تُحصي هذه الدالة جميع العناصر في مصفوفة، أو شيء ما في كائن. بالنسبة للكائنات، إذا كانت مكتبة PHP القياسية SPL مثبتة لديك، فيمكنك ربط count()‎ عبر واجهة التطبيق Countable. وتحتوي الواجهة على دالة واحدة، Countable :: count()‎، وهي نفسها التي تُعيد القيمة المُعادة للدالة count()‎. الرجاء مراجعة قسم array من الدليل ...

التابع Float.zero?‎‎ في روبي

يتحقق التابع zero?‎ إن كانت قيمة العدد العشري الذي استُدعي معه تساوي الصفر. البنية العامة zero? → true or false‎ القيمة المعادة تعاد القيمة true إن كانت قيمة العدد العشري المعطى تساوي القيمة 0.0. خلا ذلك، تعاد القيمة false. انظر أيضا التابع negative?‎: يتحقق إن كان العدد العشري الذي استُدعي معه عددًا سالبًا. التابع positive?‎: يتحقق إن كان العدد العشري الذي استُدعي معه عددًا موجبًا. التابع nan?‎: يتحقق إذا كان العدد العشري الذي استدعي معه عددًا عشريًّا غير صالح وفقًا لمعيار IEEE. مصادر ...

اختلال الشيفرات ومشاكلها (Code Smells)

قد تعاني الشيفرات الكثير من الاختلالات والمشاكل الشكلية؛ فبمجرد اكتشاف تلك الاختلالات الظاهرية، يسهل علينا معرفة العلاج (التقنيات) وتطبيقه (إعادة التصميم) للحصول على شيفرة سليمة نظيفة. من هذه الاختلالات: المبالغة والإطالة قد يزداد حجم الشيفرات والتوابع (methods) والأصناف (classes) ازديادًا كبيرًا ليصل لمرحلةٍ يصعُب التعامل معها، ولا يحدث هذا بشكلٍ فجائيِّ دفعةً واحدةً، بل يكون ناتجًا عن تراكم الإضافات أثناء تطوير البرنامج (وخاصةً عندما لا يبذل أحدٌ جهدًا للحدِّ من ذلك التشعب)، ويبدو هذا التضخم واضحًا التوابع الطويلة (long methods): ...

التابع Proc.to_s في روبي

يُعيد التابع to_s المُعرِّف الفريد (unique identifier) لكتلة proc محدّدة بالتزامن مع إشارة لمكان تعريف هذه الكتلة. يملك هذا التابع اسمًا بديلًا هو inspect. البنية العامة to_s → string القيم المعادة تُعاد سلسلةٌ نصيَّةٌ (string) تُمثِّل المُعرِّف الفريد للكتلة proc المعطاة بالإضافة إلى إشارة لمكان تعريف هذه الكتلة. انظر أيضًا التابع arity: يُعيد عدد الوسائط الإلزاميَّة في الكائن proc الذي استدعي معه. التابع binding: يُعيد الرَّبط الموافق للكائن Proc الذي استدعي معه. التابع curry: يُعيد كتلة proc مقسَّمة. التابع parameters: ...

الدالة ()feature_exists في Sass

تتحقَّق الدالة feature_exists()‎ ما إذا كانت ميزة معيَّنةٌ موجودةٌ في وقت تشغيل Sass. الميزات المدعومة هي: global-variable-shadowing: تشير إلى أنّ متغيرًا محليًا سيحجب متغيرًا عامًّا ما لم تُستخدم ‎!global. extend-selector-pseudoclass: تشير إلى أنّ ‎@extend ستصل إلى محدِّدات الأصناف الزائفة (pseudoclasses) مثل ‎:not. units-level-3: تشير إلى الدعم الكامل للعمليات الحسابيَّة على الواحدات (unit arithmetic) باستخدام الواحدات المُعرّفة في المواصفة Values and Units Level 3. at-error: تشير إلى أنّ التعليمة ‎@error مدعومة. custom-property: تشير إلى أن مواصفات الخاصِّيَّات المُخصّصة مدعومة. هذا يعني ...

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

يتحقق التابع zero?‎ إن كانت قيمة العدد الذي استُدعي معه تساوي الصفر. البنية العامة zero? → true or false‎ القيمة المعادة تعاد القيمة true إن كانت قيمة العدد المعطى تساوي الصفر. خلا ذلك، تعاد القيمة false. انظر أيضا التابع integer?‎: يتحقق إن كان العدد الذي استُدعي معه من النوع Integer. التابع negative?‎: يتحقق إن كان العدد الذي استُدعي معه عددًا سالبًا. التابع positive?‎: يتحقق إن كان العدد الذي استُدعي معه عددًا موجبًا. التابع real?‎: يتحقق إن كان العدد الذي استُدعي مهه عددًا حقيقيًّا (أي ليس ...

HTML/Topics/Embedded Content

إضافةً إلى الوسائط المتعددة، يمكن تضمن مختلف أنواع المحتوى في مستندات HTML، حتى لو لم يكن من السهل دومًا التعامل مع ذاك المحتوى. العنصر الوصف <embed> يُمثِّل العنصر <embed> نقطة إدراج لتطبيق خارجي أو لمحتوى تفاعلي (أي بصيغة أخرى: إضافة plug-in). <object> يُمثِّل العنصر <object> موردًا خارجيًا، والذي يمكن أن يُعامل كصورة، أو كمورد سيُعالَج عبر إضافة خارجية. <param> يُعرِّف العنصر <param> معاملات (parameters) للعنصر <object>. <source> يُحدِّد العنصر <source> عدِّة مصادر لملفات الوسائط المتعددة ضمن العنصر<picture> أو <audio> أو <video>. وهذا العنصر فارغ، وأكثر استخدام شائع له هو توفير محتوى الوسائط المتعددة ...

التابع Connection.execute()‎ في بايثون

يستدعي هذا التابعُ التابعَ Cursor.execute()‎ مع تمرير المعاملات المعطاة. البنية العامة execute(sql[, parameters]) ‎ المعاملات sql سلسلة نصية تتضمن جملة SQL المراد تنفيذها. القيمة المعادة هذا التابع طريقة مختصرة لإنشاء كائن مؤشر عن طريق استدعاء التابع cursor()‎، حيث يستدعي التابع execute()‎ في كائن المؤشر مع تمرير المعاملات المعطاة، ثم يعيد كائن المؤشر. أمثلة يبين المثال التالي آلية عمل التابع: import sqlite3 conn = sqlite3.connect('example.db') c = conn.cursor() symbol = 'RHAT' c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol) انظر أيضًا التابع Connection.excutemany()‎: ...

التابع Proc.binding في روبي

يُعيد التابع binding الرَّبط (binding) الموافق للكائن Proc الذي استدعي معه. لاحظ أنَّ التابع Kernel.eval يقبل إما كائنًا من النوع Proc أو النوع Binding على أنَّه معامله الثّاني. البنية العامة binding → binding القيم المعادة يُعاد كائنٌ من النوع Binding. أمثلة مثالٌ عن استخدام التابع binding: def fred(param) proc {} end b = fred(99) eval("param", b.binding) #=> 99 انظر أيضًا التابع arity: يُعيد عدد الوسائط الإلزاميَّة في الكائن proc الذي استدعي معه. التابع curry: يُعيد كتلة proc مقسَّمة. التابع to_s: ...

التابع Proc.source_location في روبي

يُعيد التابع source_location اسم ملف روبي المصدري ورقم السَّطر الحاوي على كتلة proc محدَّدة، أو يُعيد القيمة nil إذا كانت هذه الكتلة غير مُعرَّفة في روبي (مثل native). البنية العامة source_location → [String, Integer] القيم المعادة تُعاد مصفوفةٌ تحوي سلسلةً نصيَّةً (String) تُمثِّل اسم ملف روبي المصدري وعددًا صحيحًا (Integer) يمثِّل رقم السطر الذي يحتوي كتلة proc المُحدَّدة، أو تُعاد القيمة nil إذا كانت هذه الكتلة غير مُعرَّفة في روبي. انظر أيضًا التابع arity: يُعيد عدد الوسائط الإلزاميَّة في الكائن ...

التابع Cursor.executescript()‎ في بايثون

هذا التابع من التوابع غير المعيارية والذي يسهل عملية تنفيذ جمل SQL متعددة دفعة واحدة. ينفّذ هذا التابع جملة COMMIT في البداية، ثم ينفّذ بعدها شيفرة SQL المعطاة في المعاملات. البنية العامة executescript(sql_script) ‎المعاملات sql_script يمكن لهذا المعامل أن يكون نسخة من الكائن str. أمثلة يبين المثال التالي آلية عمل التابع: import sqlite3 con = sqlite3.connect(":memory:") cur = con.cursor() cur.executescript(""" create table person( firstname, lastname, ...

التابع Fiber.resume في روبي

يستأنف التّابع resume الليف (fiber) من النقطة التي استدعُي فيها التّابع Fiber.yield آخر مرّة، أو يبدأ بتشغيله إذا كان هذا أول استدعاءٍ له. ستكون الوسائط المُمرَّرة إلى التابع resume هي قيمة التعبير Fiber.yield، أو ستُمرَّر إلى كتلة الليف على أنها معاملات للكتلة (block parameters) إذا كان هذا الاستدعاء الأوَّل. بديلًا عن هذا، يُقيَّم resume عندما يُستدعى الوسائط المُمرَّرة إلى التعبير Fiber.yield التالي داخل كتلة الليف أو إلى قيمة الكتلة إذا شُغِّلت حتى الاكتمال من دون استدعاء Fiber.yield. البنية العامة resume(args, ...

التوصيفات (Annotations) في لغة Kotlin

التصريح عن التوصيف (Annotation Declaration) تُعدُّ التوصيفات إحدى الوسائل لإضافة بياناتٍ توصيفيّةٍ (metadata) إلى الشيفرة، وللتصريح عن التوصيف يُضاف المُحدِّد annotation قبل اسم الصنف، مثل: annotation class Fancy وقد تُحدَّد بعض خواصّ التوصيفات (annotation attributes) باستخدام التوصيفات الآتية (meta-annotations) لتوصيفات الصنف: ‎@Target لتحديد نوع العناصر التي يمكن توصيفها مثل الأصناف (classes) والدوال (functions) والخاصّيّات (properties) والتعابير (expressions) و... إلخ. ‎@Retention لتحديد فيما إن كان التوصيف مُخزَّنًا في ملفات الأصناف المُترجَمة، أو مرئيًا عبر انعكاسٍ (reflection) أثناء التنفيذ (runtime) (وكلاهما محقُّق بالحالة ...

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

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

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

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

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

يجلب الإحداثيات الحاليَّة للعنصر الأول أو يضبط إحداثيات كل عنصر في مجموعة العناصر المطابقة نسبةً إلى الصفحة. ‎.offset()‎ القيم المعادة يعيد كائنًا من النوع Object. الوصف يجلب الإحداثيات الحاليَّة للعنصر الأول في مجموعة العناصر المطابقة نسبةً إلى الصفحة. ‎.offset()‎ أُضيف مع الإصدار: 1.2. لا يقبل هذا الشكل أي وسائط. يسمح لنا التابع ‎.offset()‎ بمعرفة الموقع الحالي لعنصر محدَّد (خصوصًا معرفة حدوده ويُستثنى منها الهوامش) نسبةً إلى الصفحة. من جهة أخرى، نجد أنَّ التابع ‎.position()‎ يعيد الموقع الحالي للعنصر نسبة إلى ...

العنصر ‎::first-line‎

العنصر الزائف ‎::first-line‎ في CSS (أي pseudo-element) يؤدي إلى تطبيق الأنماط على أوّل سطر من العناصر الكتلية (block-level elements)، لاحظ أنَّ طول أوّل سطر يختلف تبعًا لعدة عوامل بما في ذلك عرض العنصر وعرض المستند وحجم الخط. p::first-line { color: red; } الشكل العام لهذا المحدد: ::first-line :first-line لاحظ أنَّ CSS3 أضافت الشكل ‎::first-line (لاحظ أنَّ قبله زوجين من النقط الرأسية) لتمييز العناصر الزائفة (pseudo-elements) عن الأصناف الزائفة (pseudo-classes)؛ لكن المتصفحات تقبل الشكل ‎:first-line المُضاف في CSS2 أيضًا. لا يسمَح إلا باستخدام مجموعة ...

الكلمات المفتاحية (Keywords) والمعاملات (Operators) في لغة Kotlin

 الكلمات المفتاحيّة الثابتة (Hard Keywords) تُعدُّ الكلمات الآتية كلماتٍ مفتاحيّةً في لغة Kotlin وليس ممكنًا استخدامها كمُعرِّفات (identifiers): as تُستخدَم في التحويلات ما بين الأنواع (typecasts) تُحدِّد تسميةً بديلةً (alias) عند عملية الاستيراد (import) as?‎ للتحويلات الحافظة للنوع (safe type casts) break لإنهاء تنفيذ الحلقات (loops) class للتصريح عن الأصناف continue  للاستمرار بالخطوة التالية لأقرب حلقة محيطة (enclosing) do للبدء بحلقة do/while (والتي يُختبَر الشرط فيها لاحقًا) else لتعريف فرعٍ (branch) من تعبير الشرط if والذي سيُنفَّذ عندما يكون الشرط بالقيمة false false ...

التابع Connection.executemany()‎ في بايثون

يستدعي هذا التابعُ التابعَ Cursor.executemany()‎ مع تمرير المعاملات المعطاة. البنية العامة executemany(sql[, parameters]) ‎المعاملات sql سلسلة نصية تتضمن جملة SQL المراد تنفيذها. القيمة المعادة هذا التابع هو طريقة مختصرة لإنشاء كائن مؤشر عن طريق استدعاء التابع cursor()‎، حيث يستدعي التابع executemany()‎ في كائن المؤشر مع تمرير المعاملات المعطاة، ثم يعيد كائن المؤشر. أمثلة يبين المثال التالي آلية عمل التابع: import sqlite3 conn = sqlite3.connect('example.db') purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00), ...

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

في حال استدعاء التابع fail بدون تمرير أي معامل، فسيُطلق الاستثناء في ‎$!‎‎‎‎ أو يطلق الخطأ RuntimeError إذا كان ‎$!‎ يساوي nil. في حال تمرير سلسلة نصية فقط، فسيُطلَق الخطأ RuntimeError مع إظهار هذه السلسلة النصية كرسالة. خلا ذلك، يجب أن يكون الوسيط الأول اسم الصنف Exception (أو كائنًا يعيد كائنًا من النوع Exception عند إرسال رسالة استثناء). يحدِّد الوسيط الاختياري الثاني الرسالة المرتبطة بالاستثناء، أما الوسيط الثالث فهو مصفوفة تضم معلومات الاستدعاء. تُلتقَط الاستثناءات بواسطة الجملة rescue من الكتل ...

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

استدعاء التابع raise بدون تمرير أي معامل يُطلق الاستثناء في ‎$!‎‎‎‎ أو يطلق الخطأ RuntimeError إذا كان ‎$!‎ يساوي nil. في حال تمرير سلسلة نصية فقط، فسيُطلَق الخطأRuntimeError مع إظهار هذه السلسلة النصية كرسالة. خلا ذلك، يجب أن يكون الوسيط الأول اسم الصنف Exception (أو كائنًا يعيد كائنًا من النوع Exception عند إرسال رسالة استثناء). يحدِّد الوسيط الاختياري الثاني الرسالة المرتبطة بالاستثناء، أما الوسيط الثالث فهو مصفوفة تضم معلومات الاستدعاء. تُلتقَط الاستثناءات بواسطة الجملة rescue من الكتل begin...end. البنية العامة raise raise(string) raise(exception [, string [, array]])‎ المعاملات string‎ سلسلة نصية تمثل الرسالة المراد إظهارها ...

التابع Connection.executemany()‎ في بايثون

يستدعي هذا التابعُ التابعَ Cursor.executemany()‎ مع تمرير المعاملات المعطاة. البنية العامة executemany(sql[, parameters]) ‎المعاملات sql سلسلة نصية تتضمن جملة SQL المراد تنفيذها. القيمة المعادة هذا التابع هو طريقة مختصرة لإنشاء كائن مؤشر عن طريق استدعاء التابع cursor()‎، حيث يستدعي التابع executemany()‎ في كائن المؤشر مع تمرير المعاملات المعطاة، ثم يعيد كائن المؤشر. أمثلة يبين المثال التالي آلية عمل التابع: import sqlite3 conn = sqlite3.connect('example.db') purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00), ...

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

يعيد التابع nonzero?‎ العدد الذي استُدعي معه إن كان غير صفري، أو يعيد القيمة nil خلاف ذلك. هذا السلوك مفيد في المقارنات المتسلسلة (انظر المثال في قسم الأمثلة). البنية العامة nonzero? → self or nil‎ القيمة المعادة يعاد العدد المعطى نفسه إن كان غير صفري، أو تعاد القيمة nil خلاف ذلك. أمثلة مثال على استخدام التابع nonzero?‎: a = %w( z Bb bB bb BB a aA Aa AA A ) b = a.sort {|a,b| (a.downcase <=> b.downcase).nonzero? || ...

المعاملات الرياضية في JavaScript

المعاملات الرياضية (arithmetic operators) تأخذ قيمًا عدديةً وتُعيد قيمةً عدديةً واحدةً، والمعاملات الرياضية القياسية هي الجمع + والطرح - والضرب * والقسمة /. الجمع (+) معامل الجمع يُنتِج مجموع المدخلات الرقمية، أو يضيف سلسلتين نصيتين إلى بعضها. البنية العامة x + y أمثلة // رقم + رقم -> عملية جمع 1 + 2 // 3 // رقم + قيمة منطقية -> عملية جمع true + 1 // 2 // قيمة منطقية + قيمة منطقية -> عملية جمع false + false // 0 // رقم + سلسلة ...

الخاصية text-emphasis

الخاصية text-decoration في CSS تُحدِّد علامة التوكيد (emphasis mark) المستخدمة على كل محرف نصي في العنصر باستثناء الفراغات ومحارف التحكم (control chars، مثل محرف السطر الجديد، ومحرف العودة إلى بداية السطر)؛ وهي خاصيةٌ مختصرة لضبط قيمة أكثر من خاصية عن ضبط علامات التوكيد معًا، وهي تتضمن text-emphasis-style و text-emphasis-color. بطاقة الخاصية القيمة الابتدائية لكل قيمة مختصرة: text-emphasis-style: none text-emphasis-color: currentcolor تُطبَّق على جميع العناصر. قابلة للوراثة لا قابلة للتحريك لا، باستثناء قيمة الخاصية text-emphasis-color. الوسائط مرئية القيمة المحسوبة لكل قيمة مختصرة: text-emphasis-style: كما حُدِّدَت. ...

الحقول المؤقتة (Temporary Fields)

توصيف المشكلة تحتوي الحقول المؤقَّتة على قيمٍ (وتُستخدَم وفقًا لها في الكائنات [objects]) ضمن شروطٍ مُحدَّدة، وتبقى فارغةً عند عدم تحقٌّق تلك الشروط. أسبابها تُخصَّصُ الحقول المؤقتة لاستخدامها في الخوارزميات التي تتطلَّب عددًا كبيرًا من المُدخلات (inputs)، فبدلًا من إنشاء الكثير من المعاملات في التابع (method parameters) يلجأ المُبرمِج لإنشاء حقولٍ مؤقَّتة لاحتواء البيانات المطلوبة في الصنف (class)، وبهذا فإنّ استخدام تلك الحقول لا يتعدّى تنفيذَ الخوارزميّة المُحدَّدة (ولا وظيفة أخرى لها خارج ذلك النطاق)، ويجعل وجودُ تلك الحقول من ...

معامل البقية Rest في JavaScript

يسمح معامل البقية (rest parameter) بتمثيل عدد غير مُحدِّد من الوسائط المُمرَّرة إلى دالةٍ ما كمصفوفة. البنية العامة function f(a, b, ...theArgs) { // ... } الوصف إذا أُسبِقَ آخر معامل من معاملات الدالة بثلاث نقط ... فسيصبح مصفوفةً التي تبدأ من 0 حتى theArgs.length التي تحمل قيم الوسائط التي مُرِّرَت إلى الدالة. ففي الشيفرة الموجودة في القسم السابق، ستحمل المصفوفة theArgs قيمة الوسيط الثالث المُمرَّر إلى الدالة (لأنَّ أوّل وسيط سيرتبط بالمعامل a، وسيرتبط ثاني وسيط بالمعامل b) وكل ...

الخاصية margin-right

الخاصية margin في CSS تضبط الهامش في الطرف الأيمن من العنصر، والقيم الموجبة ستؤدي إلى إبعاد العنصر عمّا جاوره، والقيم السالبة ستقربه منها. بطاقة الخاصية القيمة الابتدائية 0 تُطبَّق على جميع العناصر، ما عدا عناصر الجداول التي لا تساوي فيها قيمة الخاصية display إحدى الكلمات المحجوزة table-caption و table و inline-table. قابلة للوراثة لا قابلة للتحريك نعم القيمة المحسوبة نسبة مئوية أو طول مطلق. /* <length> أطوال */ margin-right: 10px; /* طول مطلق */ margin-right: 1em; /* طول نسبي ...

العنصر

يُعرِّف العنصر <param> معاملات (parameters) للعنصر <object>. لمشاهدة مثال عن استخدام العنصر <param>، راجع صفحة العنصر <object>. بطاقة العنصر تصنيفات المحتوى لا يوجد. المحتوى المسموح لا يوجد، فهو عنصرٌ فارغ. الوسم المختصر يجب أن يكون وسم البداية موجودًا، ويجب أن يُحذَف وسم النهاية. العناصر الأب العنصر <object>، ويجب أن يرد فيه قبل أي محتوى آخر. واجهة DOM HTMLParamElement دعم المتصفحات Chrome Firefox Edge Safari Opera مدعوم مدعوم مدعوم مدعوم مدعوم الخاصيات يمكن استخدام الخاصيات العامة في هذا العنصر. name اسم المعامل. type ...

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

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

تهجير قاعدة البيانات في Laravel

مقدمة تشبه عمليات التهجير التحكم في الإصدار لقاعدة بياناتك، مما يسمح لفريقك بتعديل مخطط قاعدة البيانات ومشاركته بسهولة. وعادةً ما تقترن عمليات التهجير بمنشئ مخططات Laravel لبناء مخطط قاعدة البيانات تطبيقك بسهولة. وإذا كان عليك في أي وقت مضى إخبار أحد أعضاء الفريق بإضافة عمود يدويًا إلى مخطط قاعدة البيانات المحليّة الخاصة بك، فقد واجهت المشكلة التي حُلّت باستخدام تهجيرات قاعدة البيانات. توفّر الواجهة الساكنة Schema دعمًا لإنشاء وتعديل الجداول عبر جميع أنظمة قواعد البيانات المدعومة من قبل Laravel. توليد ...

عوامل الأعداد الثنائية في PHP

تتيح عوامل الأعداد الثنائية تقدير ومعالجة بتات (bits) معينة ضمن العدد الصحيح. مثال الاسم النتيجة ‎$a & $b And و يُعيد 1 مكان كل بت له القيمة 1 في كلٍّ من ‎$a و ‎$b. ‎$a | $b Or أو (الضمنية) يُعيد 1 مكان كل بت له القيمة 1 في ‎$a أو ‎$b أو كلاهما. ‎$a ^ $b Xor أو (غير الضمنية) يُعيد 1 مكان كل بت له القيمة 1  في ‎$a أو ‎$b وليس كلاهما. ‎~ $a Not النفي يعكس ...

عوامل الأعداد الثنائية في PHP

تتيح عوامل الأعداد الثنائية تقدير ومعالجة بتات (bits) معينة ضمن العدد الصحيح. مثال الاسم النتيجة ‎$a & $b And و يُعيد 1 مكان كل بت له القيمة 1 في كلٍّ من ‎$a و ‎$b. ‎$a | $b Or أو (الضمنية) يُعيد 1 مكان كل بت له القيمة 1 في ‎$a أو ‎$b أو كلاهما. ‎$a ^ $b Xor أو (غير الضمنية) يُعيد 1 مكان كل بت له القيمة 1  في ‎$a أو ‎$b وليس كلاهما. ‎~ $a Not النفي يعكس ...

الخاصية margin-left

الخاصية margin-left في CSS تضبط الهامش في الطرف الأيسر من العنصر، والقيم الموجبة ستؤدي إلى إبعاد العنصر عمّا جاوره، والقيم السالبة ستقربه منها. بطاقة الخاصية القيمة الابتدائية 0 تُطبَّق على جميع العناصر، ما عدا عناصر الجداول التي لا تساوي فيها قيمة الخاصية display إحدى الكلمات المحجوزة table-caption و table و inline-table. قابلة للوراثة لا قابلة للتحريك نعم القيمة المحسوبة نسبة مئوية أو طول مطلق. /* <length> أطوال */ margin-left: 10px; /* طول مطلق */ margin-left: 1em; /* طول نسبي ...

Python/pathlib/Path/mkdir

التابع Path.mkdir في بايثون يُنشئ هذا التابع مجلّدًا في المسار المُعطى بالخصائص التي يتم تحديدها في باقي الوسطاء. Create a new directory at this given path. If mode is given, it is combined with the process’ umask value to determine the file mode and access flags. If the path already exists, FileExistsError is raised. If parents is true, any missing parents of this path are created as needed; they are created with the default permissions without taking mode into account ...

المتغير التكراري في PHP

إن المتغير التكراري Iterable هو شبه نوع (نوع زائف، pseudo-type) عُرِّفَ في الإصدار 7.1 من PHP وهو يقبل أية مصفوفة أو كائن يستخدم واجهة Traversable (أي Traversable interface)، كلا النوعين يمكن تكراره باستخدام حلقة foreach ويمكن أن يُستخدم مع تعبير yield داخل دالة مولِّدة (generator). استخدام Iterables يمكن استخدام Iterable كنوع لمعاملات الدالة (function parameter type) للإشارة إلى الدالة تتطلب مجموعةً من القيم، لكن دون أن تهتم لصيغة القيمة لأنها ستُستخدَم مع حلقة foreach، إذا لم تكن القيم مصفوفة أو ...

المتغير التكراري في PHP

إن المتغير التكراري Iterable هو شبه نوع (نوع زائف، pseudo-type) عُرِّفَ في الإصدار 7.1 من PHP وهو يقبل أية مصفوفة أو كائن يستخدم واجهة Traversable (أي Traversable interface)، كلا النوعين يمكن تكراره باستخدام حلقة foreach ويمكن أن يُستخدم مع تعبير yield داخل دالة مولِّدة (generator). استخدام Iterables يمكن استخدام Iterable كنوع لمعاملات الدالة (function parameter type) للإشارة إلى الدالة تتطلب مجموعةً من القيم، لكن دون أن تهتم لصيغة القيمة لأنها ستُستخدَم مع حلقة foreach، إذا لم تكن القيم مصفوفة أو ...

أنماط الشيفرات المُتعارَف عليها ما بين مبرمجي Kotlin

تعرِض هذه الصفحة أنماط كتابة الشيفرات المُتعارَف عليها (conventions) من قِبل مبرمجي لغة Kotlin. تطبيق دليل التنسيق (Applying the Style Guide) لضبط المُنسِّق IntelliJ formatter بما يتوافق مع هذا الدليل يُنصَح بتثبيت إضافة Kotlin بالإصدار 1.2.20 (أو أي إصدارٍ أحدث) وضبط المّحرِّر بالانتقال إلى الإعدادات (Settings) ثمّ المُحرِّر (Editor) ثم نمط الشيفرة (Code Style) ثم Kotlin واختر "ضبط من..." Set from…"‎" في الزاوية اليمنى العُلويَّة ومن القائمة اختر الخيار Predefined style/Kotlin style guide. وللتأكد من تنسيق الشيفرة وفقًا لدليل Kotlin ...

أنماط الشيفرات المُتعارَف عليها ما بين مبرمجي Kotlin

تعرِض هذه الصفحة أنماط كتابة الشيفرات المُتعارَف عليها (conventions) من قِبل مبرمجي لغة Kotlin. تطبيق دليل التنسيق (Applying the Style Guide) لضبط المُنسِّق IntelliJ formatter بما يتوافق مع هذا الدليل يُنصَح بتثبيت إضافة Kotlin بالإصدار 1.2.20 (أو أي إصدارٍ أحدث) وضبط المّحرِّر بالانتقال إلى الإعدادات (Settings) ثمّ المُحرِّر (Editor) ثم نمط الشيفرة (Code Style) ثم Kotlin واختر "ضبط من..." Set from…"‎" في الزاوية اليمنى العُلويَّة ومن القائمة اختر الخيار Predefined style/Kotlin style guide. وللتأكد من تنسيق الشيفرة وفقًا لدليل Kotlin ...

الخاصية backface-visibility

الخاصية backface-visibility في CSS تُحدِّد فيما إذا كان الوجه الخلفي للعنصر ظاهرًا للمستخدم، ويكون الوجه الخلفي للعنصر ذو خلفيةٍ شفافة، ويسمح بعرض صورة معكوسة (mirrored) للوجه الأمامي للعنصر. بطاقة الخاصية القيمة الابتدائية visible تُطبَّق على جميع العناصر. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* كلمات محجوزة */ backface-visibility: visible; backface-visibility: hidden; /* القيم العامة */ backface-visibility: inherit; backface-visibility: initial; backface-visibility: unset; هنالك حالات لا نريد فيها إظهار الوجه الأمامي للعنصر معكوسًا على الوجه الخلفي، كما في تأثير قلب البطاقات. لاحظ أنَّ هذه الخاصية ...

العنصر ‎::first-letter‎

العنصر الزائف ‎::first-letter‎ في CSS (أي pseudo-element) يؤدي إلى تطبيق الأنماط على أوّل حرف من أوّل سطر من العناصر الكتلية (block-level elements)، شرط ألّا يسبقها محتوى آخر (مثل الصور أو الجداول السطرية). p::first-letter { font-size: 130%; } لاحظ أنَّه لا يسهل تحديد أوّل حرف من العنصر دومًا: بعض علامات الترقيم التي تسبق أو تلي أوّل حرف مباشرةً ستدخل في هذا العنصر الزائف. استخدام العنصر الزائف ‎::before مع الخاصية content سيؤدي إلى إضافة بعض النصوص قبل بداية العنصر، وفي هذه الحالة سيُطابِق ...

for في JavaScript

التعبير البرمجي for يُنشِئ حلقة تكرار تتألف من ثلاثة تعبيرات برمجية اختيارية تحيط بها أقواس وتفصل بينها فواصل منقوطة، ويليها تعبيرٌ برمجيٌ (وعادةً يكون قسمًا كتليًا [block statement]) سيُنفَّذ في كل تكرار للحلقة. البنية العامة for ([initialization]; [condition]; [final-expression]) statement initialization تعبير (يتضمن تعابير الإسناد) أو تصريح عن متغير، ويُستخدَم عادةً لتهيئة متغير العدّاد؛ وهذا التعبير قد يُصرِّح اختياريًا عن متغيرات جديدة باستخدام الكلمة المحجوزة var؛ وهذه المتغيرات ليست محليةً وتابعةً لحلقة التكرار، وإنما ستكون موجودةً في نفس ...

اختبارات المتصفح (Laravel Dusk) في Laravel

مقدمة يوفّر لك Laravel Dusk أتمتة للمتصفّح واختبار للواجهات البرمجيّة بطريقة سهلة الاستخدام. بشكلٍ افتراضي، لا يتطلّب Dusk تنصيب JDK أو Selenium على جهازك، حيث يستعمل تثبيت مستقل (standalone) لبرمجية ChromeDriver. بأي حال، يمكنك استخدام أي برنامج تشغيل متوافق مع Selenium إذا أردت. التثبيت للبدء، أضف الاعتمادية laravel/dusk إلى مشروعك: composer require --dev laravel/dusk بعد تثبيت Dusk، سجّل مزوّد الخدمة الذي يتبع إلى Dusk، وهو Laravel\Dusk\DuskServiceProvider. بشكل عام، يكون هذا تلقائيًّا باستخدام التسجيل التلقائي لمزوّدات خدمة Laravel. تنبيه: إذا قمت بتسجيل ...

String.prototype.startsWith()‎

الدالة String.prototype.startsWith()‎ تُحدِّد إن كانت تبدأ سلسلةٌ نصيةٌ بمحارف سلسلةٍ نصيةٍ أخرى، وتُعيد القيمة true أو false. البنية العامة str.startsWith(searchString[, position]) searchString السلسلة النصية التي سيُبحَث عنها في بداية السلسلة النصية الأصلية. length قيمة اختيارية، وإذا حُدِّدَت فستتجاوز طول (length) السلسلة النصية التي سيُبحَث فيها، وإذا حُذِفَت فستكون القيمة الافتراضية مساويةً لطول السلسلة النصية. انظر الأمثلة. القيمة المعادة القيمة true إذا عُثِرَ على السلسلة النصية searchString في بداية السلسلة النصية الأصلية، وإلا فستُعاد القيمة false. الوصف هذه الدالة تسمح لنا ...

توافقية الأنواع في TypeScript

مقدمة توافقيّة الأنواع في TypeScript مبنيّةٌ على التحقق من الأنواع الفرعيّة هيكليًّا (structural subtyping). والتحقّق من الأنواع هيكليًّا طريقةٌ للربط بين الأنواع حسب عناصرها فقط لا غير. وهذا مُعاكسٌ للتحقق من الأنواع اسميًّا (nominal typing). انظر الشيفرة التالية: interface Named { name: string; } class Person { name: string; } let p: Named; // هذا مسموح به بسبب التحقق من الأنواع هيكليًّا p = new Person(); في اللغات المعتمدة على التحقق من الأنواع اسميًّا مثل لغة C#‎ أو Java، فالشيفرة ...

الدالة filterIsInstance()‎ في Kotlin

تعيد الدالة filterIsInstance()‎ قائمة تحوي عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن. البنية العامة inline fun <reified R> Array<*>.filterIsInstance(): List<R> inline fun <reified R> Iterable<*>.filterIsInstance(): List<R> يمكن تمرير المعامل klass إلى الدالة filterIsInstance()‎: fun <R> Array<*>.filterIsInstance(klass: Class<R>): List<R> fun <R> Iterable<*>.filterIsInstance(klass: Class<R>): List<R> بيئة التشغيل المطلوبة: JVM وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (لمزيد من التفاصيل، راجع توثيق الدوال المباشرة)، واستخدام الكلمة المفتاحية reified يسمح بالوصول إلى نوعٍ مُمرَّر كمتحولٍ وسيطٍ (parameter، راجع توثيق reified ...

الكائن RangeError في JavaScript

الكائن RangeError يُشير إلى حدوث خطأ وقع عندما تكون قيمة متغير رقمي أو معاملٍ ما خارج المجال المسموح. البنية العامة new RangeError([message]) message وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر. الوصف سيرمى الخطأ RangeError عند محاولة تمرير رقم كوسيط إلى دالة لا تعدّ هذا الرقم ضمن المجال المسموح للقيم التي تقبلها؛ وسيحدث ذلك عند محاولة إنشاء مصفوفة لها طول (length) غير صحيح باستخدام الدالة البانية Array، أو عند تمرير قيم غير صالحة إلى الدوال Number.toExponential()‎ أو Number.toFixed()‎ أو Number.toPrecision()‎. ...

الخاصية padding-right

الخاصية padding-right في CSS تضبط الحاشية (padding) في الطرف الأيمن للعنصر؛ وعلى نقيض الهوامش margin، لا يجوز استخدام استخدام القيم السالبة للحواشي. ويمكن استخدام الخاصية المختصرة padding لضبط جميع الحواشي على الأطراف الأربعة لأحد العناصر في قاعدة واحدة. بطاقة الخاصية القيمة الابتدائية 0 تُطبَّق على جميع العناصر، ما عدا عناصر الجداول التي لا تساوي فيها قيمة الخاصية display إحدى الكلمات المحجوزة table-caption و table و inline-table. قابلة للوراثة لا قابلة للتحريك نعم القيمة المحسوبة نسبة مئوية أو طول مطلق. /* ...

الخاصية text-emphasis-color

الخاصية text-decoration-color في CSS تُحدِّد اللون المستخدم لرسم علامة التوكيد (emphasis mark) المستخدمة على كل محرف نصي في العنصر؛ يمكن ضبط قيمة هذه الخاصية باستعمال الخاصية المختصرة text-emphasis. بطاقة الخاصية القيمة الابتدائية currentcolor تُطبَّق على جميع العناصر. قابلة للوراثة لا قابلة للتحريك نعم الوسائط مرئية القيمة المحسوبة القيمة اللونية المحسوبة. /* القيمة الابتدائية */ text-emphasis-color: currentColor; /* <color> */ text-emphasis-color: #555; text-emphasis-color: blue; text-emphasis-color: rgba(90, 200, 160, 0.8); text-emphasis-color: transparent; /* القيم العامة */ text-emphasis-color: inherit; text-emphasis-color: initial; text-emphasis-color: unset; أمثلة مثال عن استخدام الخاصية text-emphasis-color على العنصر <strong> مع الخاصية ...

الخاصية padding-bottom

الخاصية padding-bottom في CSS تضبط الحاشية (padding) في الطرف السفلي للعنصر؛ وعلى نقيض الهوامش margin، لا يجوز استخدام القيم السالبة للحواشي. ويمكن استخدام الخاصية المختصرة padding لضبط جميع الحواشي على الأطراف الأربعة لأحد العناصر في قاعدة واحدة. بطاقة الخاصية القيمة الابتدائية 0 تُطبَّق على جميع العناصر، ما عدا عناصر الجداول التي لا تساوي فيها قيمة الخاصية display إحدى الكلمات المحجوزة table-caption و table و inline-table. قابلة للوراثة لا قابلة للتحريك نعم القيمة المحسوبة نسبة مئوية أو طول مطلق. /* <length> ...

الخاصية padding-left

الخاصية padding-left في CSS تضبط الحاشية (padding) في الطرف الأيسر للعنصر؛ وعلى نقيض الهوامش margin، لا يجوز استخدام استخدام القيم السالبة للحواشي. ويمكن استخدام الخاصية المختصرة padding لضبط جميع الحواشي على الأطراف الأربعة لأحد العناصر في قاعدة واحدة. بطاقة الخاصية القيمة الابتدائية 0 تُطبَّق على جميع العناصر، ما عدا عناصر الجداول التي لا تساوي فيها قيمة الخاصية display إحدى الكلمات المحجوزة table-caption و table و inline-table. قابلة للوراثة لا قابلة للتحريك نعم القيمة المحسوبة نسبة مئوية أو طول مطلق. /* ...

الخاصية flex-grow

الخاصية flex-grow في CSS تُحدِّد معامل التمدد لأحد عناصر flex، وهي تُحدِّد مقدار المساحة التي يجب أن يأخذها العنصر داخل حاوية flex. بطاقة الخاصية القيمة الابتدائية 0 تُطبَّق على عناصر flex. قابلة للوراثة لا قابلة للتحريك نعم القيمة المحسوبة كما حُدِّدَت. /* <number> قيم عددية */ flex-grow: 3; flex-grow: 0.6; /* قيم عامة */ flex-grow: inherit; flex-grow: initial; flex-grow: unset; أمثلة في المثال الآتي، حددنا تمدد العناصر A و B و C و F باستخدام القاعدة flex-grow: 1، بينما كان تمدد العناصر D و E مساويًا ...

الخاصية padding-top

الخاصية padding-top في CSS تضبط الحاشية (padding) في الطرف العلوي للعنصر؛ وعلى نقيض الهوامش margin، لا يجوز استخدام استخدام القيم السالبة للحواشي. ويمكن استخدام الخاصية المختصرة padding لضبط جميع الحواشي على الأطراف الأربعة لأحد العناصر في قاعدة واحدة. بطاقة الخاصية القيمة الابتدائية 0 تُطبَّق على جميع العناصر، ما عدا عناصر الجداول التي لا تساوي فيها قيمة الخاصية display إحدى الكلمات المحجوزة table-caption و table و inline-table. قابلة للوراثة لا قابلة للتحريك نعم القيمة المحسوبة نسبة مئوية أو طول مطلق. /* ...

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

الصنف ARGF هو مجرى (stream) صُمِّم ليُستخدَم في الملفات البرمجية (scritps) التي تُعالج الملفات المُمرَّرة إليها على شكل وسائط في سطر الأوامر (command-line arguments)، أو المُمرَّرة عبر مجرى الدخل القياسي (STDIN). تُخزَّن الوسائط المُمرَّرة للملف البرمجي في المصفوفة ARGV، إذ يخزَّن وسيط واحد في كل عنصر. تفترض ARGF أنّ الوسائط التي ليست أسماء ملفات (filenames) قد أزيلت من ARGV. انظر الشيفرة التالية مثلًا: $ ruby argf.rb --verbose file1 file2 ARGV #=> ["--verbose", "file1", "file2"] option = ARGV.shift #=> "--verbose" ARGV #=> ...

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

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

الخاصية list-style-image

الخاصية list-style-image في CSS تُحدِّد صورةً لتُستخدَم للإشارة إلى عناصر القائمة. ومن المستحسن عادةً استخدام الخاصية المختصرة list-style لضبط قيمة هذه الخاصية. بطاقة الخاصية القيمة الابتدائية none تُطبَّق على عناصر القوائم. قابلة للوراثة نعم قابلة للتحريك لا القيمة المحسوبة القيمة none أو رابط URI مطلق للصورة. /* كلمة مفتاحية */ list-style-image: none; /* <url> قيم */ list-style-image: url('starsolid.gif'); /* القيم العامة */ list-style-image: inherit; list-style-image: initial; list-style-image: unset; ملاحظة: هذه الخاصية ستُطبَّق على عناصر القوائم، أي العناصر التي تكون قيمة الخاصية display فيها تساوي list-item، وهذا يتضمن ...

التابع bytes.decode()‎ في بايثون

يفك التابع ترميز البايتات الممرّرة إليه إلى سلسلة نصية. البنية العامة bytes.decode(encoding="utf-8", errors="strict") المعاملات encoding يحدّد هذا المعامل الترميز الذي سيستخدمه التابع في عمله، ويأخذ القيمة الافتراضية 'utf-8'. وللاطلاع على قائمة بالترميزات المتاحة راجع قسم الترميزات القياسية. ملاحظة: يسمح تمرير المعامل encoding إلى السلسلة النصية بفك ترميز أي كائن شبيه بالبايت bytes-like object على نحو مباشر، دون الحاجة إلى إنشاء كائن بايتات أو كائن مصفوفة بايتات مؤقت. errors يحدّد المعامل error الطريقة المطلوبة للتعامل مع الأخطاء. يأخذ هذا المعامل القيمة ...

التابع bytes.decode()‎ في بايثون

يفك التابع ترميز البايتات الممرّرة إليه إلى سلسلة نصية. البنية العامة bytes.decode(encoding="utf-8", errors="strict") المعاملات encoding يحدّد هذا المعامل الترميز الذي سيستخدمه التابع في عمله، ويأخذ القيمة الافتراضية 'utf-8'. وللاطلاع على قائمة بالترميزات المتاحة راجع قسم الترميزات القياسية. ملاحظة: يسمح تمرير المعامل encoding إلى السلسلة النصية بفك ترميز أي كائن شبيه بالبايت bytes-like object على نحو مباشر، دون الحاجة إلى إنشاء كائن بايتات أو كائن مصفوفة بايتات مؤقت. errors يحدّد المعامل error الطريقة المطلوبة للتعامل مع الأخطاء. يأخذ هذا المعامل القيمة ...

وحدات التحكّم (Controllers) في Laravel

مقدمة بدلًا من تعريف كامل منطق معالجة طلباتك (request handling logic) على أنّها نطاقات مغلقة (‎(Closures في ملفّات المسارات، قد ترغب في تنظيم هذا السلوك (behavior) باستخدام أصناف ووحدات التحكّم. تستطيع وحدات التحكّم جمع منطق معالجة الطلبات ذي الصلة في صنف واحد. تخزّن وحدات التحكّم في المجلّد app/Http/Controllers. وحدات التحكّم الأساسية تعريف وحدات التحكّم تجد أدناه مثالًا عن وحدة تحكّم بسيطة. لاحظ أن وحدة التحكّم تُوسّع صنف وحدة التحكّم الأساسية المُحتواة في Laravel. يوفّر الصنف الأساسي عددًا من التوابع المفيدة ...

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

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

التصريح عن الدوال في JavaScript

التصريح عن الدالة (function declaration) يُعرِّف دالةً لها معاملات (parameters) معيّنة. يمكن أيضًا تعريف الدوال عبر الدالة البانية Function وعبر تعابير تعريف الدوال (function expression). البنية العامة function name([param,[, param,[..., param]]]) { [statements] } name اسم الدالة. param اسم الوسيط المُرَّر إلى الدالة، العدد الأقصى للوسائط التي يمكن تمريرها إلى الدالة يختلف حسب المحرِّك الذي يُفسِّر اللغة. statements التعابير البرمجية التي تُشكِّل جسم الدالة. الوصف الدالة المُصرَّح عنها هي كائن Function يملك وصولًا إلى جميع خاصياته ودواله ولها نفس ...

الخاصية flex-flow

الخاصية flex-wrap المختصرة في CSS تستعمل لضبط قيمة الخاصيتين flex-direction و flex-wrap. بطاقة الخاصية القيمة الابتدائية لكل قيمة مختصرة: flex-direction: row flex-wrap: nowrap تُطبَّق على حاويات flex. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة لكل قيمة مختصرة: flex-direction: كما حُدِّدَت. flex-wrap: كما حُدِّدَت. /* flex-flow: <flex-direction> */ flex-flow: row; flex-flow: row-reverse; flex-flow: column; flex-flow: column-reverse; /* flex-flow: <flex-wrap> */ flex-flow: nowrap; flex-flow: wrap; flex-flow: wrap-reverse; /* flex-flow: <flex-direction> and <flex-wrap> */ flex-flow: row nowrap; flex-flow: column wrap; flex-flow: column-reverse wrap-reverse; /* قيم عامة */ flex-flow: inherit; flex-flow: initial; flex-flow: unset; أمثلة راجع صفحة الخاصيتين flex-direction و flex-wrap لأمثلة تفصيلية ...

الخاصية overflow-y

الخاصية overflow-y في CSS تُحدِّد إن كان سيتم اقتصاص (clip) المحتوى، أو سيُعرَض شريط تمرير (scroll bar)، أو سيُعرَض ما يزيد من محتوى العنصر الكتلي فوقه أو تحته. بطاقة الخاصية القيمة الابتدائية visible تُطبَّق على عناصر block-level و inline-block غير المُستبدَلة (non-replaced). قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* لن يتم اقتصاص المحتوى */ overflow-y: visible; /* سيتم اقتصاص المحتوى دون عرض شريط تمرير */ overflow-y: hidden; /* سيتم اقتصاص المحتوى مع عرض شريط تمرير */ overflow-y: scroll; /* ترك الأمر بيد ...

الخاصية flex-shrink

الخاصية flex-shrink في CSS تُحدِّد معامل التقلص لأحد عناصر flex، وهي تُحدِّد مقدار المساحة التي يجب أن يأخذها العنصر داخل حاوية flex نسبةً إلى بقية العناصر، وذلك في حال كان العرض الافتراضي للعناصر flex أكبر من الحاوية. بطاقة الخاصية القيمة الابتدائية 1 تُطبَّق على عناصر flex. قابلة للوراثة لا قابلة للتحريك نعم القيمة المحسوبة كما حُدِّدَت. /* <number> قيم عددية */ flex-shrink: 2; flex-shrink: 0.6; /* Global values */ flex-shrink: inherit; flex-shrink: initial; flex-shrink: unset; أمثلة في المثال الآتي، حددنا تقلص العناصر A و B و ...

الصنف 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 ...

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

تدعم روبي شكلين من التوابع الكائنية (objectified methods). يستخدم الصنف Method لتمثيل التوابع المرتبطة بكائن معين، ويمكن إنشاء كائنات التوابع من هذا النوع عبر التابع Object.method. تدعم روبي أيضًا التوابع الحرة (unbound methods)؛ وهي كائنات توابع غير مرتبطة بكائن معين. يمكن إنشاؤها إما عن طريق استدعاء Module.instance_method، أو عن طريق استدعاء unbind على تابع مرتبط (bound method object). نتيجة كليهما ستكون تابعًا حرًا (كائن من النوع UnboundMethod). لا يمكن استدعاء التوابع الحرة إلا بعد ربطها بكائن ما. ويجب أن يعيد ...

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

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

المجالات (Ranges) في لغة Kotlin

استخدام المجالات تُصاغُ تعابير المجالات (range expressions) من خلال دوال rangeTo التي تعتمد على المعامل .. والذي بدوره يتُمَّم بالمعاملين inو ‎!in، إذ من الممكن أن يُعرَّف المجال لأيّ نوعٍ يقبل المقارنة، أما في حالة الأنواع الأساسيّة المتكاملة (integral primitive types) فلها تعريف استخدام مُحسَّن (optimized)، وهذه بعض الأمثلة: if (i in 1..10) { // مكافئ للصياغة // 1 <= i && i ...

التعامل مع CSS في jQuery

تعمل التوابع الموجودة في هذا القسم على جلب وضبط قيم خاصيات CSS لعنصر محدَّد (أو مجموعة عناصر محدَّدة). ‎.height()‎ يجلب هذا التابع الطول الحالي لأول عنصر في مجموعة العناصر المتطابقة أو يغير الطول لكل العناصر المتطابقة. ‎.innerHeight()‎ يعيد هذا التابع قيمة الطول الحالي (تتضمن قيمة الحواشي فقط دون الإطار) لأول عنصر في مجموعة العناصر المطابقة أو يغير الطول الداخلي لكل العناصر المطابقة. ‎.innerWidth()‎ يعيد هذا التابع قيمة العرض الحالي (تدخل قيمة الحواشي ضمنها فقط) لأول عنصر من مجموعة العناصر المطابقة ...

الحقل image

عناصر <input> ذات النوع image تُستخدم لإنشاء أزار رسومية، أي أنَّ رز إرسال النموذج سيكون على شكل صورة بدلًا من النص. الخاصية value لا يقبل الحقل image الخاصية value، فالمسار إلى الصورة المعروضة يجب أن يُحدَّد في خاصية src. استخدام الأزار الرسومية الحقل image يُمثِّل عنصرًا قابلًا للاستبدال (أي العنصر الذي لا يكون محتواه مولّدًا أو قابلًا للتحكم باستخدام CSS مباشرةً)، ويعمل بشكلٍ شبيهٍ جدًا بالعنصر <img> العادي، لكن له قدارات زر الإرسال submit. الميزات الأساسية للأزرار الرسومية لننظر إلى ...

القيمة المستخدمة

القيمة المستخدمة (used value) لإحدى خاصيات CSS هي القيمة النهائية لتلك الخاصية بعد إجراء جميع الحسابات اللازمة. بعد أن ينتهي المتصفح من إجراء حساباته، فسيكون لكل خاصية لها مُستخدَمة، والقيم المستخدمة للخاصيات المتعلقة بالأبعاد (مثل width أو line-height) ستكون بواحدة البكسل، أما القيم المستخدم للخاصيات المختصرة (مثل background) فستحتوي على قيم الخاصيات الفرعية (مثل background-color). تفاصيل عن القيمة المستخدمة هنالك أربع خطوات لحساب القيمة النهاية لخاصيات CSS، فأول خطوة تتضمن الحصول على القيمة المُحدَّدة التي تأتي من أعلى قاعدة تحديدًا؛ ...

الأصناف (Classes) والوراثة (Inheritance) في لغة Kotlin

تُستخدم الكلمة المفتاحيّة class للتصريح (declaration) عن الصنف بالصيغة الآتية (اسم الصنف Invoice): class Invoice { } ويحتوي التصريح على اسم الصنف (class name) وترويسة الصنف (class header) (والتي تُحدِّد معاملات النوع والباني الأساسيّ ...إلخ.) وبُنية الصنف (class body) محاطةً بالقوسين {}، وإن كلًا من ترويسة الصنف وبُنيته اختياريتان؛ فإذا كان الصنف خاليًا لا حاجة للأقواس، مثل: class Empty الباني (Constructor) يوجد لكلّ صنف في لغة Kotlin بانٍ رئيسيّ (primary) واحدٌ وبانٍ -أو أكثر- ثانويّ (secondary)، إذ يُعدُّ الباني الرئيسيّ جزءًا من ...

الحقل number

عناصر <input> ذات النوع number تسمح للمستخدم بإدخال قيمة عددية. سيتم التحقق من صحة المدخلات تلقائيًا للتأكد أنَّها أعداد وسيرفض المتصفح أيّة قيم غير رقمية، ويمكن أن يوفر المتصفح أسهمًا بجوار هذا الحقل للسماح للمستخدم بزيادة أو إنقاص القيمة باستخدام الفأرة أو بالضغط عليها بأصبعه. إذا لم يكن المتصفح يدعم الحقل number فسيستخدم المتصفح الحقل text الافتراضي. <input type="number" name="number"> الخاصية value تُمثَّل قيمة الخاصية value بكائن Number. يمكنك ضبط القيمة الافتراضية في هذا الحقل بإسناد رقم للخاصية value كما ...

الدالة filterIsInstanceTo()‎ في Kotlin

تضيف الدالة filterIsInstanceTo()‎ عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن إلى المجموعة المتغيرة destination المُمرّرة إليها. البنية العامة inline fun <reified R, C : MutableCollection<in R>> Array<*>.filterIsInstanceTo( destination: C ): C inline fun <reified R, C : MutableCollection<in R>> Iterable<*>.filterIsInstanceTo( destination: C ): C يمكن تمرير معامل klass إلى الدالة filterIsInstanceTo()‎: fun <C : MutableCollection<in R>, R> Array<*>.filterIsInstanceTo( destination: C, klass: Class<R> ): C fun ...

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