نتائج البحث

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

تطوير برامج Bash جيدة

خصائص الشيفرات الجيدة هذا الشرح عن آخر وحدة بناء للصدفة وهي الشيفرات النصية. إليك بعض الأمور التي يجب أن تراعيها قبل أن نكمل: يجب أن تعمل الشيفرة بدون أخطاء. يجب أن تنفذ المهمة التي كُتبت لها. يجب أن يكون منطق البرنامج محددًا وظاهرًا. لا تنفذ الشيفرة مهامًا غير ضرورية. ينبغي أن تكون الشيفرة قابلة لإعادة استخدامها. الهيكل Structure يجب أن يكون هيكل شيفرة الصدفة مرنًا للغاية، فرغم أن bash بها حرية ظاهرة، إلا أنه يجب تحقيق منطق صحيح وتحكم في ...

حلقة for في Bash

كيفية عمل حلقة for التكرارية حلقة for هي أول وحدة تكرارية في الصدفة من بين ثلاث وحدات، وتسمح تلك الحلقة بتخصيص قائمة من القِيَم، وتُنفَّذ قائمة من الأوامر لكل قيمة من تلك القيم. والبنية اللغوية لهذه الحلقة التكرارية هي كالآتي: for NAME [in LIST ]; do COMMANDS; done إن لم تكن [ in LIST] موجودة فيتم استبدال @$ in بها، وتنفذ for الأوامر (COMMANDS) مرة واحدة لكل معامل موضعي مضبوط على قيمة، انظر المتغيرات في Bash وفحص وسائط سطر الأوامر. وتكون ...

ميزات صدفة Bash

صدفة bash هي الصدفة الافتراضية لنظام جنو يوفّر مشروع GNU -إذ يشير الاسم إلى GNU's Not UNIX- أدواتٍ لإدارة النظم الشبيهة بنظام يونكس، وهي نظم التشغيل الحرة والمتوافقة مع معايير يونكس. وإحدى تلك الأدوات هي bash، صَدَفة متوافقة مع صدفة sh الأولى التي كتبها ستيفن بورن، وبها خصائص مفيدة من صدفتي Korn و C -اختصاراتهما ksh و csh على الترتيب-. وقد صُممت لتتوافق مع معيار IEEE POSIX P1003.2/ISO 9 945.2 للصدفات والبرامج.  كما أن بها مزايا محسّنة عن sh سواء ...

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

إعادة التدوير ستجد برامج كثيرة على نظامك تستخدم الدوال كطريقة منظمة لمعالجة سلسلة ما من الأوامر، ففي بعض أنظمة لينكس مثلًا ستجد الملف التعريفي etc/rc.d/init/functions/ يشار إليه كمصدر في كل شيفرات init النصية. وبهذا الأسلوب لا تحتاج إلى كتابة المهام المتكررة سوى مرة واحدة وبشكل عام أيضًا، مهام مثل تفقد ما إن كانت تعمل إحدى المهام، تشغيل أو إيقاف أحد العفاريت (daemons)، وهلم جرا. ثم إذا دعت الحاجة إلى كتابة تلك المهام مرة أخرى فإنك لا تحتاج سوى إعادة تدوير ...

وحدات البناء الأساسية في Bash

وحدات بناء الصدفة البنية اللغوية للصدفة (Shell Syntax) إن كان المُدخَل ليس تعليقًا (comment) فإن الصدفة تقرؤه وتقسمه إلى كلمات ومعامِلات مطبِّقة قواعد الاقتباس (quoting rules) لتحدد معنى كل مِحرَف (character)، ثم تُترجَم تلك الكلمات والمعامِلات إلى أوامر وعناصر أخرى ينتج عنها حالة الخروج المناسبة للعملية. ولا تُطبَّق آلية fork-exec التي ذكرناها في تنفيذ الأوامر في Bash إلا بعد أن تحلل الصدفة المُدخلات وفقًا للخطوات الآتية: تقرأ الصدفة المُدخلات من ملف، سواء من نص (string) أو من طرفية المستخدم. يُقسَّم ...

تنفيذ الأوامر في Bash

عام تحدد bash نوع البرنامج الذي يتم تنفيذه، وتكون البرامج هنا عادة أوامر للنظام في صورة مُجمّعة (compiled) على جهازك. وحين يتم تنفيذ أحد تلك البرامج، فإن bash تنشئ نسخة من نفسها، وتولد عملية جديدة بناء على ذلك، ويدعى ذلك الإجراء بالاشتقاق (forking). وتلك العملية الفرعية لديها نفس بيئة العملية الأصلية، ولا تختلفان إلا في رقم معرّف العملية (Process ID Number) لكل منهما. وتحِل بيانات العملية الجديدة محِل مساحة العنوان (address space) بعد الاشتقاق ، ويتم ذلك الإجراء من خلال ...

البرامج الشائعة للصَّدَفة

الوظائف العامة للصدفة يفسر برنامج صَدَفة يونكس أوامر المستخدم التي يدخلها بنفسه أو التي يمكن استخراجها وقراءتها من ملف نصي يسمى شيفرة الصَّدَفة النصية (shell script) أو برنامج الصدفة (shell program). وتكون تلك الملفات النصية مفسّرة (interpreted) على خلاف الملفات المُجمّعة (compiled)، بمعنى أن الصدفة تقرأ الأوامرَ سطرًا سطرًا وتبحث عنها في النظام، على خلاف البرامج المُجمَّعة التي يحوِّل المُجمِّع (compiler) شيفرتها إلى ملف تنفيذي (executable file) مكتوب بلغة يستطيع الحاسوب فهمها -لغة الآلة-، ثم يُمكن استخدام ذلك الملف بعدها ...

الأخطاء في Node.js

ستواجه التطبيقات التي تعمل في Node.js عمومًا أربع فئات من الأخطاء هي: أخطاء JavaScript القياسية مثل <EvalError>، و <SyntaxError>، و <RangeError>، و <ReferenceError>، و <TypeError>، و <URIError>. أخطاء النظام التي أُطلقَت بوساطة قيود نظام التشغيل الضمنيَّة (operating system constraints) مثل محاولة فتح ملف غير موجود أو محاولة إرسال بيانات عبر مقبسٍ مغلق. أخطاء محددة من طرف المستخدم تُطلَق عبر شيفرة التطبيق. أخطاء التوكيد AssertionError‎ وهي صنفٌ مخصصٌ من الأخطاء يُطلَق عندما تكتشف Node.js مخالفة منطقية استثنائية لا يجب أن تحدث ...

الاستخدامات المتقدمة لعبارة if الشرطية في Bash

بُنى if/then/else يوضح المثال التالي البُنية التي يجب استخدامها لاتخاذ إجراء أو سلسلة إجراءات إن تحققت شروط عبارة if، وسلسلة إجراءات أخرى إن لم تتحقق: hsoub scripts> gender="male" hsoub scripts> if [[ "$gender" == "f*" ]] More input> then echo "Pleasure to meet you, Madame." More input> else echo "How come the lady hasn't got a drink yet?" More input> fi How come the lady hasn't got a drink yet? hsoub scripts> الفرق بين [] و [[]] على عكس ]، فإن ]] تمنع انقسام الكلمات في ...

الدالة ‎‎jQuery.getScript()‎‎ في jQuery

jQuery.getScript( url [, success ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة ملف JavaScript من الخادم باستعمال طلب HTTP عبر الطريقة GET ثمَّ يُنفِّذه. jQuery.getScript( url [, success ] )‎ أُضيفت مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسَل الطلب إليه. success دالةٌ من الشكل Function( String script, String textStatus, jqXHR jqXHR )‎ يراد تنفيذها إن نجح الطلب. هذه الدالة هي اختزالٌ للدالة jQuery.ajax()‎، إذ تكافئ: $.ajax({ url: url, ...

الدالة ‎‎jQuery.getScript()‎‎ في jQuery

jQuery.getScript( url [, success ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة ملف JavaScript من الخادم باستعمال طلب HTTP عبر الطريقة GET ثمَّ يُنفِّذه. jQuery.getScript( url [, success ] )‎ أُضيفت مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسَل الطلب إليه. success دالةٌ من الشكل Function( String script, String textStatus, jqXHR jqXHR )‎ يراد تنفيذها إن نجح الطلب. هذه الدالة هي اختزالٌ للدالة jQuery.ajax()‎، إذ تكافئ: $.ajax({ url: url, ...

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

تعيد الدالة keywords()‎ خريطة (map) تحتوي على الوسائط المسماة المُمرّرة إلى دالة أو مخلوط (mixin)، والذي يتطلب تمرير قائمة متغيرةً من الوسائط. أسماء الوسائط هي سلاسل نصيةٌ ولا تحتوي على البادئة $. البنية العامة keywords($args) المعاملات ‎$args قائمة متغيرة من الوسائط. القيم المعادة تُعاد خريطة تحتوي على الوسائط المسماة المُمرّرة إلى الدالة أو المخلوط آنذاك. الأخطاء والاستثناءات سيُرمى الخطأ ArgumentError إن لم يكن المعامل ‎$args قائمةً متغيرة من الوسائط. أمثلة مثال عن استخدام الدالة keywords()‎ مع قاعدة ‎@debug: @mixin foo($args...) { @debug ...

خيارات سطر الأوامر في Node.js

يتوافر العديد من خيارات سطر الأوامر التي يمكن استعمالها مع Node.js. تُستعمَل هذه الخيارات في تنقيح أخطاء الشيفرة، والتحكم في كيفيَّة تنفيذ الشيفرة، وغيرها من الأمور المفيدة. يمكن عرض هذا التوثيق في الطرفيَّة عبر استعمال الأمر man node. البنية العامة node [options] [V8 options] [script.js | -e "script" | -] [--] [arguments] node debug [script.js | -e "script" | <host>:<port>] … node --v8-options إنَّ تنفيذ node دون أيَّة وسائط يؤدي إلى بدئها مع الوحدة REPL. لمزيدٍ من المعلومات حول node debug، راجع رجاءً ...

الإشارات في Bash

صفحة man للإشارات يحتوي نظامك على صفحة man بها كل الإشارات المتاحة، لكن قد يُفتح بطريقة مختلفة اعتمادًا على نظام تشغيلك، والطريقة التي ستجدها في أغلب أنظمة لينكس هي man 7 signal، لكن إن كنت في ريب من الأمر فحدد صفحة man والقسم الذي تريده بالضبط باستخدام أوامر مثل: man -k signal | grep list أو apropos signal | grep list ستجد أسماء الإشارات باستخدام kill -l. الإشارات إلى صدفة Bash الخاصة بك تتجاهل صدفة bash التفاعلية إشارتي SIGTERM و SIGQUIT في ...

المنقح Debugger في Node.js

درجة الثبات: 2 - مستقر كثيرًا ما نحتاج لتنقيح الشيفرات ومراجعتها من الأخطاء، لذلك يتضمن Node.js أداة تنقيح مستقلة يمكن الوصول إليها من خلال محقق V8 inspector وعميل تنقيح مدمج. لاحظ أن عميل تنقيح Node.js هنا هو أداة بسيطة وليست منقّحًا كامل الخصائص، لكنها تكفي في حالة تفحص خطوات تنفيذ الشيفرة. سنستخدم في مثالنا هذا ملف myscript: // myscript.js ‎global.x = 5; setTimeout(() => {  console.log('world'); }, 1000)‎; console.log('hello'); كما ترى، المثال المستخدم هنا بسيط، حيث يبدأ في السطر الأول بتحديد متغير عام x بقيمة 5، ...

ملفات تهيئة الصدفة

ملفات الإعدادات على مستوى النظام System-wide Configuration files الملف etc/profile/ تقرأ Bash التعليمات الموجودة في etc/profile/ إن استدعيْت بشكل تفاعلي عبر خيار login-- أو إن استدعيْت كـ sh ، تضبط تلك التعليمات عادة المتغيرات PATH - USER - MAIL - HOSTNAME - HISTSIZE ، وهي متغيرات تابعة للصدفة. كذلك تُضبط قيمة umask في etc/profile/ على بعض الأنظمة، أما في بعضها الآخر فإن هذا الملف يحتوي على موجّهات (pointers) لملفات الإعدادات الأخرى مثل: ملف etc/inputrc/ ، وهو ملف تهيئة على مستوى ...

أخطاء الصيغة في بايثون

قد تكون أخطاء الصيغة (Syntax errors) أو ما يعرف أيضًا بأخطاء الإعراب (Parsing errors) هي أكثر نوع من الأخطاء التي يواجهها المبتدئون عند تعلّم بايثون: >>> while True print('Hello world')   File "<stdin>", line 1     while True print('Hello world')                    ^ SyntaxError: invalid syntax يعيد المفسّر (parser) طباعة الجملة التي تحتوي على الخطأ مع سهم صغير يشير إلى مكان الخطأ ضمن السطر. ويكون الخطأ ناتجًا عن (أو اكتشف في) المكان الذي يسبق السهم. في المثال السابق ...

أخطاء الصيغة في بايثون

قد تكون أخطاء الصيغة (Syntax errors) أو ما يعرف أيضًا بأخطاء الإعراب (Parsing errors) هي أكثر نوع من الأخطاء التي يواجهها المبتدئون عند تعلّم بايثون: >>> while True print('Hello world')   File "<stdin>", line 1     while True print('Hello world')                    ^ SyntaxError: invalid syntax يعيد المفسّر (parser) طباعة الجملة التي تحتوي على الخطأ مع سهم صغير يشير إلى مكان الخطأ ضمن السطر. ويكون الخطأ ناتجًا عن (أو اكتشف في) المكان الذي يسبق السهم. في المثال السابق ...

Document.write()‎

يكتب التّابع Document.write‎()‎ سلسلةً نصيّةً إلى مجرى (stream) مستندٍ فُتح بالتّابع window.open‎()‎. مُلاحظة: لأنّ التّابع Document.write‎()‎ يكتب إلى مجرى المستند، فاستدعاؤه على مستندٍ مُغلقٍ (مُحمَّل) يستدعي تلقائيًّا التّابع Document.open‎()‎، الذي سيحذف محتويات المستند. البنية العامة document.write(markup); markup سلسلة نصيّة تحتوي على النّص المرغوب كتابته على المستند. مثال <!DOCTYPE html> <html> <head> <title>write مثال</title> <script> function newContent() { alert("تحميل محتوى جديد"); document.open(); document.write("<h1>المحتوى ...

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

تقدم وحدة cgitb أداة خاصة للتعامل مع الاستثناءات في سكربتات بايثون. (قد يكون اسم الوحدة مضلّلًا. صمّمت هذه الوحدة في المقام الأوّل لعرض معلومات الأخطاء الخاصّة بسكربتات CGI بصيغة HTML، ولكنّها أصبحت تعرض المعلومات كنصوص صرفة في وقت لاحق). في حال حدوث استثناء لم تلتقطه بايثون، تعرض الوحدة تقريرًا مفصّلًا ومنسّقًا، ويتضمّن هذا التقرير الجزء المسؤول عن حدوث الخطأ في الشيفرة المصدرية، إضافة إلى قيم الوسائط والمتغيرات المحلية الخاصّة بالدالة الحالية. يمكن الاستفادة من هذا التقرير في تنقيح الشيفرة المصدرية ...

undefinedفي JavaScript

الخاصية العامة undefined تُمثِّل القيمة الأوليّة undefined في JavaScript. سمات الخاصية undefined قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط لا البنية العامة undefined الوصف الخاصية undefined هي خاصيةٌ للكائن العام (global object) أي أنها متغيرٌ في المجال العام، والقيمة الابتدائية للخاصية undefined هي نوع البيانات الأوليّ undefined. الخاصية undefined غير قابلة للضبط وغير قابلة للكتابة في المتصفحات الحديثة (بدءًا من معيار ECMAScript 5)، لكن مع ذلك حاول تجنّب الكتابة عليها. المتغيرات التي لم تُسنَد لها قيمةٌ سيكون نوعها هو ...

التوسعات في Bash

بعد تقسيم الأمر في Bash إلى وحدات (Tokens) -انظر وحدات البناء الأساسية في Bash، البنية اللغوية للصدفة- فإن تلك الوحدات توسَّع (expanded) أو تُستبيَن (resolved)، وسنفصّل الآن تلك التوسعات وفقًا لترتيب كل منها، ثم بعد إتمام جميع التوسعات تُنفّذ عملية حذف الاقتباسات. توسُّع القوس المعقوف {} توسع القوس المعقوف هو آلية يمكن من خلالها إنشاء نصوص عشوائية (arbitrary strings)، إذ تأخذ الأنماط (patterns) التي سيُنفَّذ عليها توسع القوس المعقوف باستهلال اختياري (optional preamble) متبوع بسلسلة من النصوص تفصل بين كل ...

حلقة while في Bash

كيفية عمل حلقة while تسمح حلقة while التكرارية بالتنفيذ المتكرر لقائمة أوامر طالما أن الأمر المتحكم في حلقة while يُنفَّذ بنجاح (حالة خروجه صفر). والبنية اللغوية لهذه الحلقة هي: while CONTROL-COMMAND; do CONSEQUENT-COMMANDS; done حيث يرمز CONTROL-COMMAND -وهو الأمر الذي سيتحكم في الحلقة- إلى أي أمر يخرج بحالة فشل أو نجاح، بينما قد تكون CONSEQUENT-COMMANDS -وهي الأوامر التي ستُكرَّر- أي برنامج أو برنامج للصدفة أو أحد بُنى الصدفة المختلفة. وتخرج الحلقة فور فشل الأمر المتحكِّم فيها، وإن كانت الحلقة في برنامج ...

استخدام البُنية case

حالات مُبسطة قد يكون من السهل اللجوء إلى استخدام عبارات if لبداهة أسلوبها، لكن تلك السهولة تنقلب إلى حيرة حين تواجه بضعة اختيارات مختلفة لإجراءات محتملة يجب اتخاذها، ولمثل تلك الحالات نستخدم عبارة case، وبنيتها اللغوية هي كما يلي: case EXPRESSION in CASE1) COMMAND-LIST;; CASE2) COMMAND-LIST;; ... CASEN) COMMAND-LIST;; esac وتطابق كل حالة في التعبير السابق نمطًا (pattern)، وتُنفَّذ الأوامر التي في قائمة COMMAND-LIST لأول تطابق، ويُستخدم محرف الأنبوب | لفصل الأنماط المتعددة، وينهي معامِل ( قائمة الأنماط، ويُطلق اسم البند ...

بيئة Bash

يمكن إعداد بيئة Bash على مستوى النظام ككل أو لكل مستخدم على حدة، وتُستخدم ملفات الإعدادات المختلفة من أجل ضبط سلوك الصدفة، إذ تحتوي تلك الملفات على خيارات الصدفة وإعدادات المتغيرات وتعريفات الدوال ووحدات أخرى من وحدات بناء صدفة Bash التي تيسر علينا إنشاء بيئة عمل مريحة ومنجِزة. يمكن اختيار أسماء للمتغيرات كما تشاء -نوعًا ما- باستثناء الأسماء المحجوزة لصدفة بورن وصدفة Bash والمعامِلات الخاصة (special parameters). وتستخدم Bash نظام اقتباس (quoting) لاستبعاد المعاني الخاصة من محرف أو أكثر في ...

المصفوفات في Bash

إنشاء المصفوفات المصفوفة هي متغير يحتوي قيمًا متعددة، وأي متغير قد يُستخدم كمصفوفة، كذلك لا يوجد حد أقصى لحجم المصفوفة ولا يُشترط أن تُفهرس المتغيرات داخل المصفوفة أو تُعيَّن في وقت واحد، وقد تكون المصفوفات صفرية القاعدة أي يُفهرس أول عنصر برقم صفر. ينفَّذ التصريح غير المباشر عن المتغير (indirect declaration) باستخدام البنية اللغوية التالية: ARRAY[INDEXNR]=value يعامَل المفهرِس INDEXER على أنه تعبير حسابي يجب أن يٌقدَّر بعدد موجب، ويتم التصريح الواضح (explicit declaration) للمصفوفة باستخدام أمر declare: declare -a ARRAYNAME يُقبَل التصريح ...

كتابة برامج Bash تفاعلية

سنتعلم في هذا القسم كيف نُدخل تعليقات المستخدم وكيف نطلب من المستخدم إدخال بيانات، وذلك عادة باستخدام بُنية echo/read، كما سنناقش كيف يمكن استخدام الملفات كمُدخلات ومخرجات باستخدام واصفات الملفات وإعادة التوجيه، وكيف يمكن جمع ذلك مع الحصول على مُدخلات من المستخدم. ويركز هذا الباب أيضًا على أهمية توفير رسائل مفصلة لمن يستخدم برامج الصدفة التي نكتبها، فمن الأفضل أن تعطي معلومات أكثر من اللازم بدلًا من كتابة توثيق موجز. مستندات Here هي إحدى أنواع بُنى الصدفة التي تسمح بإنشاء ...

استخدام الأمر المُضمَّن Shift في Bash

وظيفة أمر shift هو أحد أوامر صدفة بورن التي تأتي مع صدفة Bash أيضًا، ويأخذ هذا الأمر وسيطًا (argument) واحدًا ويكون ذلك الوسيط رقمًا، وتُنقل المعامِلات الموضعية إلى اليسار بمقدار هذا الرقم "N"، أما المعامِلات التي تلي ذلك، من 1+N وما بعده إلى #$ فإن أسماءها تُغيَّر إلى أسماء متغيرات من 1$ إلى #$ +1 - N. فمثلًا لنقل أن لديك أمرًا يأخذ عشرة وسائط، وN تساوي 4، إذًا 4$ تصبح 1$، و 5$ تصبح 2$ وهكذا إلى أن تصل ...

الرموز Symbol في JavaScript

الدالة Symbol()‎ تُعيد قيمةً من النوع symbol، وتملك هذه الدالة خاصيات ساكنة (static properties) ودوال ساكنة (التي تُستخدَم للوصول إلى سجل الرموز العام، أي global symbol registry، ويسمى أيضًا بالمصطلح symbol table)؛ وهذه الدالة تحاول التشبه بالدوال البانية للكائنات، لكنها ليست دالةً بانيةً لعدم القدرة على استخدام المعامل new معها كما في new Symbol()‎. كل رمز (symbol) مُعاد من الدالة Symbol()‎ هو رمزٌ فريد؛ ويمكن أن يُستخدَم كمُعرِّف (identifier) لخاصيات الكائنات، وهذا هو الغرض الرئيسي من هذا النوع من البيانات. ...

معالجة الأخطاء (Error Handling) في Laravel

مقدمة عند بدء مشروع Laravel جديد تكون معالجة الأخطاء والاستثناءات مُعدّة لك مُسبقا. تُسجّل كافة الاستثناءات التي يطلقها تطبيقك في الصنف App\Exceptions\Handler ثم تُرجع للمُستخدم. سنتعمّق في هذا الصنف أكثر من خلال هذا التوثيق. الضبط يحدد الخيار debug في ملف إعداداتك config/app.php مقدار المعلومات الفعلية التي تُعرض عن الخطأ للمستخدم. يُعد هذا الاختيار إفتراضيًّا ليحترم قيمة متغيّر البيئة APP_DEBUG التي تُخزّن في ملفك env. . عليك وضع قيمة متغير البيئة APP_DEBUG على true عند التطوير المحلّي. يجب أن توضع هذه ...

عوامل التحكم بالأخطاء في PHP

تدعم PHP عاملًا واحدًا للتحكّم بالأخطاء وهو علامة (@). تتجاهل PHP جميع الأخطاء الناتجة من أي تعبير تُلحق به هذه العلامة. إن كنت قد عينت دالة خاصة للتعامل مع الأخطاء باستخدام set_error_handler()‎ فستستدعى تلك الدالة حتى مع استخدام هذا العامل، ولكن يمكن للدالة الخاصة (بل ويجدر بها) أن تستدعي الدالة error_reporting()‎ والتي ستعيد 0 عندما يكون الاستدعاء المتسبب في حدوث الخطأ مسبوقًا بعلامة @. إن كانت الخاصية track_errors مفعّلة فإن أيّ رسالة خطأ تنشأ من التعبير ستحفظ في المتغير ‎$php_errormsg، ...

عوامل التحكم بالأخطاء في PHP

تدعم PHP عاملًا واحدًا للتحكّم بالأخطاء وهو علامة (@). تتجاهل PHP جميع الأخطاء الناتجة من أي تعبير تُلحق به هذه العلامة. إن كنت قد عينت دالة خاصة للتعامل مع الأخطاء باستخدام set_error_handler()‎ فستستدعى تلك الدالة حتى مع استخدام هذا العامل، ولكن يمكن للدالة الخاصة (بل ويجدر بها) أن تستدعي الدالة error_reporting()‎ والتي ستعيد 0 عندما يكون الاستدعاء المتسبب في حدوث الخطأ مسبوقًا بعلامة @. إن كانت الخاصية track_errors مفعّلة فإن أيّ رسالة خطأ تنشأ من التعبير ستحفظ في المتغير ‎$php_errormsg، ...

تنقيح تطبيقات ريلز

يقدّم هذا الدليل التقنيات اللازمة لتنقيح تطبيقات ريلز. بعد قراءة هذا الدليل، ستتعلّم: الغرض من التنقيح. كيفة تتبّع العلل والأخطاء التي لا تتعرّف عليها الاختبارات في تطبيقك. طرقًا مختلفة للتنقيح. كيفيّة تحليل أثر المكدس. مساعدي العرض للتنقيح احدى المهام الشائعة في التنقيح هي فحص محتويات متغيّر معيّن، لذا يوفر ريلز ثلاثة طرائق لفعل ذلك: Debug To_yaml Inspect debug سيعيد المساعد debug الوسم <pre> الذي يصدّر الكائن باستخدام تنسيق YAML، وسيؤدي هذا إلى توليد بيانات يمكن للإنسان قراءتها من أي كائن. ...

حلقة until في Bash

كيفية عمل حلقة until تشبه هذه الحلقةُ التكرارية حلقةَ while باستثناء أن الحلقة هنا تُنفَّذ إلى أن يُنفَّذ أمر اختباري TEST-COMMAND بنجاح، فتظل الحلقة عاملة طالما كان تنفيذ الأمر الاختباري يفشل. والبنية اللغوية لها تشبه البنية اللغوية لحلقة while : until TEST-COMMAND; do CONSEQUENT-COMMANDS; done وحالة الإعادة لهذه الحلقة هي نفسها حالة الخروج لآخر أمر يُنفَّذ من الأوامر التابعة CONSEQUENT-COMMANDS أو تكون صفرًا إن لم يُنفَّذ أي أمر. وقد يكون الأمر الاختباري TEST-COMMAND أي أمر يمكن أن يخرج بحالة نجاح أو فشل، ...

أنواع المتغيرات في Bash

التعيين العام للقيَم لم نركز كثيرًا في الشرح السابق لصدفة Bash على أنواع المتغيرات التي كنا نعيِّنها لأن Bash تستطيع التعامل مع أنواع متعددة من المتغيرات والمعامِلات، ونتيجة لذلك فإن متغيراتنا يمكنها احتواء أي نوع نختاره من البيانات، انظر المثال التالي للتوضيح: [hsoub in ~] VARIABLE=12 [hsoub in ~] echo $VARIABLE 12 [hsoub in ~] VARIABLE=string [hsoub in ~] echo $VARIABLE string وستكون حالات تريد فيها تجنب هذا السلوك من المثال السابق حين تتعامل مع أرقام الهواتف وغيرها مثلًا، وقد تحتاج أن تحدد متغيرًا ثابتًا (Constant ...

البُنى الشرطية في Bash

سنتعلم في هذا الباب كيف نبني سلاسل شرطية في برامجنا بحيث نستطيع اتخاذ إجراءات مختلفة بناء على نجاح الأوامر أو فشلها، وستُحدد تلك الإجراءات باستخدام عبارة if، وسيسمح هذا بتنفيذ مقارنات حسابية ونصية، واختبار رموز الخروج والمدخلات والملفات التي يحتاجها البرنامج. عادة ما يسبق الأوامر في برامج الصدفة اختبارُ if/then/fi لمنع إنشاء الخرج كي يعمل البرنامج في الخلفية أو من خلال أداة cron، أما الشروط الأكثر تعقيدًا فتوضع في عبارة case. ويخبر البرنامج الصدفة الأم عند نجاح اختبار الشرط باستخدام ...

اقتباس المحارف في Bash

فائدة اقتباس المحارف تحمل كثيرًا من المحارف والكلمات معاني ووظائف خاصة بشكل أو بآخر، ويُستخدم الاقتباس لإلغاء ذلك المعنى أو الوظيفة الخاصة، إذ تعطِّل علامات التنصيص في Bash تلك المعاملة التي يلقاها المحرف الخاص، وتمنع معاملة الكلمات الخاصة وفقًا للمعاني التي تحملها، وكذلك تعطِّل توسع المعامِلات. محارف الهروب تُستخدم محارف الهروب لإلغاء المعنى الخاص لمحرف واحد، وتُستخدم الشرطة المائلة الخلفية \ كمحرف للهروب في Bash، إذ تحتفظ بالمعنى المباشر للمحرف الذي يليها باستثناء محرف السطر الجديد، فإن أتى محرف سطر ...

التعابير النمطية في Bash

يلقي هذا الباب الضوء على المزايا المُضمَّنة في Bash لمطابقة الأنماط (patterns) والتعرف على فئات المحارف ومداها. إضافة إلى تفصيل للتعابير النمطية (Regular Expressions)، إذ هي أدوات قوية لاختيار أسطر بعينها من ملفات أو من مُخرج ما، وتستخدمها أوامر كثيرة في يونكس مثل vim و perl وقاعدة بيانات PotgreSQL وغيرها، كما يمكن إضافتها في أي لغة أو تطبيق باستخدام مكتبات خارجية، بل قد تجدها في أنظمة غير أنظمة يونكس، إذ يستخدمها برنامج Excel للجداول الذي يأتي في حزمة مكتب ويندوز. ...

التقاط الإشارات في Bash

قد تُرسل الإشارات إلى برامجك باستخدام أمر kill أو اختصارات على لوحة المفاتيح، ويمكن التقاط تلك الإشارات وتنفيذ أوامر بناءً على ذلك باستخدام أمر trap، ورغم أن بعض البرامج تتجاهل الإشارات إلا أن إشارة kill لا يمكن تجاهلها من أي برنامج. الإشارات في Bash نظرة عامة على الإشارات وإرسالها واستخدامها مع أمر kill. الأفخاخ في Bash نظرة عامة على الأفخاخ في Bash وكيف تفسرها الصدفة وأمثلة عليها.

الأوامر البديلة في Bash

فائدة الأوامر البديلة يسمح الأمر البديل (Alias) بوضع كلمة واحدة مكان مقطع نصي (string)، وذلك إن استُخدم كأول كلمة من أمر بسيط، وتحتفظ الصدفة بقائمة من الأوامر البديلة التي يمكن ضبطها وإلغاء ضبطها بأمريْ alias و unalias. اكتب alias في سطر الأوامر لترى قائمة من الأوامر البديلة المعرَّفة للصدفة الحالية: hsoub: ~> alias alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias PAGER='less -r' alias Txterm='export TERM=xterm' alias XARGS='xargs -r' alias cdrecord='cdrecord -dev 0,0,0 -speed=8' alias e='vi' alias egrep='grep -E' alias ewformat='fdformat -n /dev/fd0u1743; ewfsck' alias fgrep='grep -F' alias ftp='ncftp -d15' alias ...

العمليات على المتغيرات في Bash

العمليات الحسابية على المتغيرات ناقشنا العمليات الحسابية من قبل في التوسعات في Bash، انظر التوسع الحسابي. طول المتغير استخدم صيغة {VAR#}$ لحساب عدد المحارف في متغير ما، وإن كان VAR هو أحد المحرفيْن * أو @ فإن القيمة يحل محلها عدد المعامِلات الموضعية أو عدد العناصر داخل المصفوفة بشكل عام، انظر المثال التالي: [hsoub in ~] echo $SHELL /bin/bash [hsoub in ~] echo ${#SHELL} 9 [hsoub in ~] ARRAY=(one two three) [hsoub in ~] echo ${#ARRAY} 3 عمليات التحول في المتغيرات الإحلال Substitution {VAR:-WORD}$ إن لم ...

Sass/@ rules

تدعم Sass جميع قواعد CSS التي تبدأ بالرمز @، فضلًا عن أخرى خاصَّة بلغة Sass تسمى بالتعليمات (directives). لهذه القواعد تأثيرات مختلفة في Sass سنفصلها بعد قليل. انظر أيضًا تعليمات التحكم (control directives) وتعليمات المخاليط (mixin directives). القاعدة ‎@import توسّع Sass استخدامات القاعدة ‎@import الخاصَّة بلغة CSS للسماح لها باستيراد ملفات SCSS وملفات Sass. ستُدمج جميع ملفات SCSS وملفات Sass المُستورَدة معًا في ملف CSS واحدٍ. إضافةً إلى ذلك، يمكن استخدام المتغيرات أو المخاليط (mixins) المُعرّفة في الملفات المستوردة في ...

الدالة cgitb.html()‎‎ في بايثون

تتعامل هذه الدالة مع الاستثناء الموصوف في المعاملات، وتنسّق رسالة الخطأ بصيغة HTML وتعيد النتيجة كسلسلة نصية. البنية العامة cgitb.html(info, context=5) ‎المعاملات info تصف قيمة هذا المعامل الاستثناء الذي ستتعامل معه الدالة، وقيمته عبارة عن صفٍّ tuple ذي ثلاثة عناصر وهو نتيجة استدعاء الدالة sys.exc_inf()‎. context معامل اختياري، يحدّد عدد الأسطر التي ستُعرض في رسالة الخطأ والتي تحيط بالسطر الذي يحتوي على الخطأ في الشيفرة المصدرية، ويأخذ هذا المعامل القيمة الافتراضية 5. القيمة المعادة تعيد الدالة رسالة الخطأ على هيئة ...

الوحدة cgi‎‎ في بايثون

تقدّم هذه الوحدة عددًا من الأدوات التي تستخدم بواسطة سكربتات CGI المكتوبة في بايثون. مقدمة تنفّذ سكربتات CGI بواسطة مخدّم HTTP وتستخدم عادة لمعالجة مدخلات المستخدم المرسلة إلى المخدّم من خلال عنصر <FORM> أو <ISINDEX> في HTML. تستقرّ سكربتات CGI معظم الأحيان في المجلد الخاص cgi-bin في المخدّم، ويضع مخدّم HTTP جميع المعلومات المرتبطة بالطلب (مثل اسم المضيف لدى العميل، عنوان URL المطلوب، سلسلة الاستعلام النصية، وغير ذلك الكثير) في بيئة الصدفة الخاصة بالسكربت، وينفّذ السكربت ثم يرسل مخرجاته إلى ...

الدالة cgitb.text()‎‎ في بايثون

تتعامل هذه الدالة مع الاستثناء الموصوف في المعاملات، وتنسّق رسالة الخطأ على هيئة نصٍّ صرف plain text وتعيد النتيجة كسلسلة نصية. البنية العامة cgitb.text(info, context=5) ‎المعاملات info تصف قيمة هذا المعامل الاستثناء الذي ستتعامل معه الدالة، وقيمته عبارة عن صفٍّ tuple ذي ثلاثة عناصر وهو نتيجة استدعاء الدالة sys.exc_inf()‎. context معامل اختياري، يحدّد عدد الأسطر التي ستُعرض في رسالة الخطأ والتي تحيط بالسطر الذي يحتوي على الخطأ في الشيفرة المصدرية، ويأخذ هذا المعامل القيمة الافتراضية 5. القيمة المعادة تعيد الدالة ...

الدالة cgitb.enable()‎‎ في بايثون

يؤدّي استدعاء هذه الدالة إلى تولّي وحدة cgitb مسؤولية معالجة الاستثناءات عوضًا عن أداة المعالجة الافتراضية في مفسّر بايثون وذلك بتعيين قيمة للدالة sys.excepthook()‎. البنية العامة cgitb.enable(display=1, logdir=None, context=5, format="html") ‎المعاملات ‎display معامل اختياري، يأخذ القيمة الافتراضية 1، ويمكن أن يأخذ القيمة 0 وبذلك تُمنع الدالة من إرسال رسالة الخطأ إلى متصفّح الويب. logdir إن كان المعامل logdir موجودًا، فإنّ رسالة الخطأ ستُكتب إلى ملف، وقيمة هذا المعامل هو المجلّد الذي سيحتوي على هذه الملفات. context معامل اختياري، يحدّد عدد ...

نمط Strict

نمط Strict أتى في معيار ECMAScript 5 لإضافة «صرامة» في تطبيق شيفرات JavaScript، لاحظ أنَّ نمط strict لا يُشكِّل قسمًا فرعيًا من JavaScript، وإنما له بنية خاصة به تختلف عن الشيفرات العادية. فالمتصفحات التي لا تدعم نمط strict ستُشغِّل الشيفرات بطريقة مختلفة عن المتصفحات التي تدعمه، لذا لا تعتمد على نمط strict دون اختبار دعمه أولًا من المتصفح. نمط Strict يُضيف عددًا من التغييرات على بنية JavaScript، فلم تعد تسكت JavaScript عن الأخطاء وإنما أصبحت ترمي استثناءات عند حدوثها؛ ونمط ...

Node.js/Topics

طريقة الاستعمال وتشغيل الأمثلة (Usage & Example) تبيّن هذه الصفحة طريقة استعمال Node.js وكيفية تشغيل الأمثلة الخاصة بها. اختبارات التوكيد (Assertion Testing) توفِّر الوحدة assert مجموعةً من اختبارات التوكيد البسيطة التي يمكن استعمالها للتأكد من الثوابت (invariants). الخطافات غير المتزامنة (async_hooks) توفِّر الوحدة async_hooks واجهة برمجية (API) لتسجيل دوال ردود النداء التي تتعقَّب دورة حياة (lifetime) الموارد غير المتزامنة (asynchronous resources) المُنشأَة داخل تطبيقات Node.js. الصنف Buffer أُنشِئ الصنف Buffer ليكون جزءًا من واجهة Node.js البرمجيَّة من أجل التعامل مع المجاري الثمانيَّة (octet streams) ...

الاستخدام الخطأ لمبادئ البرمجة كائنية التوجه (Object-Orientation Abusers)

من مشاكل الشيفرات أيضًا التطبيقُ الخطأ وغير المكتمل لمبادئ البرمجة كائنية التوجّه (Object-Oriented)، مثل: استخدام الأصناف البديلة (alternative) ذات الواجهات (interfaces) المختلفة المشكلة: التطابق بالمهام ما بين صنفين ولكن بأسماءٍ مختلفةٍ لتوابعهما. الحل: حذف أحد الصنفين بعد تنفيذ إحدى الحلول الآتية: إعادة تسمية التوابع (methods) لتصبح متطابقةً بكافّة الأصناف البديلة، أو توحيد التوقيع (signature) وتعريف الاستخدام ما بين التوابع (إمّا بنقل التابع أو إضافة المعاملات أو دمج التوابع عبر المعاملات)، أو استخراج صنفٍ أعلى وجعلهما صنفين فرعيين له (إن كان التطابق جزئيًا). الوراثة الفائضة (refused bequest) ...

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

يعيّن التابع DEBUG عند استدعائه بالشكل DEBUG = num قيمة مستوى تصحيح المهمة الفرعية (thread debug level) إلى القيمة num. متوفر فقط في حالة تصريفه (compiled) مع الخيار THREAD_DEBUG = -1. البنية العامة DEBUG = num‎ انظر أيضا التابع DEBUG: يُعيد مستوى التصحيح في المهمة الفرعية (thread debug level). مصادر قسم التابع DEBUG=‎ في الصنف Thread‎ في توثيق روبي الرسمي.

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

يُعيد التابع DEBUG مستوى التصحيح في المهمة الفرعية (thread debug level). متوفر فقط في حالة تصريفه (compiled) مع الخيار THREAD_DEBUG = -1. البنية العامة DEBUG → num‎ القيمة المعادة يعاد عددٌ يمثل مستوى التصحيح في المهمة الفرعية (thread debug level). انظر أيضًا التابع DEBUG=‎: يعيّن عند استدعائه بالشكل DEBUG = num قيمة مستوى تصحيح المهمة الفرعية (thread debug level) إلى القيمة num. مصادر قسم التابع DEBUG‎ في الصنف Thread‎ في توثيق روبي الرسمي.

المزيد حول المتغيرات في Bash

يمكن للمتغير أن يحتوي أي نوع من البيانات ما لم يُصرح بخلاف ذلك بوضوح، وتُضبط المتغيرات الساكنة (Constant Variables) باستخدام أمر readonly. وتحتوي المصفوفة على مجموعة من المتغيرات، وإن صُرح بنوع معين من البيانات لتلك المصفوفة فإن جميع العناصر داخلها ستُضبط على احتواء ذلك النوع فقط من البيانات. كذلك تسمح مزايا Bash بإحلال وتحويل المتغيرات بسرعة، وتتضمن العمليات القياسية حساب طول المتغير والتوسعات الحسابية عليه وإحلال محتواه أو جزء من محتواه. أنواع المتغيرات في Bash شرح للقيم العامة للمتغيرات والمتغيرات ...

استعمال ريلز لإنشاء تطبيقات ذات واجهة برمجية فقط

في هذا الدليل ستتعلم: ما تقدمه ريلز للتطبيقات ذات الواجهة البرمجية فقط. كيفية ضبط ريلز للبدء دون أي ميزات للمتصفح. كيفية تحديد البرامج الوسيطة (middleware) التي تريد تضمينها. كيفية تحديد الوحدات لاستخدامها في وحدة التحكم الخاصة بك. ما الذي يعنيه «تطبيق ذو واجهة برمجية فقط»؟ تقليديًا، عندما قال الناس أنهم استخدموا ريلز كـ "واجهة برمجية"، فقد كان يعني توفير واجهة برمجية يمكن الوصول إليها برمجيًا جنبًا إلى جنب مع تطبيق الويب الخاص بهم. على سبيل المثال، يوفر GitHub واجهة برمجية ...

الكلمة goto المفتاحية في أردوينو

تنقل الكلمة goto المفتاحية البرنامج إلى موضع معين ضمن الشيفرة. البنية العامة goto label; // إرسال البرنامج لتنفيذ الكتلة البرمجية // label الموجودة عند التسمية أمثلة مثالٌ على استعمال التعبير goto: for(byte r = 0; r < 255; r++){ for(byte g = 255; g > 0; g--){ for(byte b = 0; b < 255; b++){ ...

الكائن Error في JavaScript

الدالة البانية Error تُنشِئ كائن خطأ، والنسخ الكائنات من النوع Error ستُرمى عند حدوث أخطاء في وقت التنفيذ (runtime errors)؛ لاحظ أنَّ الكائن Error يُستخدَم أيضًا ككائن أساس للاستثناءات التي يُعرَّفها المستخدم. انظر أدناه للحصول على قائمة بأنواع الأخطاء القياسية المُضمَّنة في اللغة. البنية العامة new Error([message]) message وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر. الوصف الأخطاء التي تحدث في وقت التنفيذ (runtime errors) تؤدي إلى إنشاء ورمي كائنات Error جديدة. أنواع الأخطاء بجانب الدالة البانية Error العامة، هنالك ...

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

تسمح العديد من أنظمة التشغيل بإرسال إشارات إلى العمليات (processes) قيد التشغيل للتحكم بها. بعض الإشارات لها تأثير محدد على العملية، بينما تكون أخرى مرتبطة بالشيفرة البرمجية، وتتصرف بناء عليها. على سبيل المثال، قد تقوم العملية بإمساك (trap) الإشارة USR1 واستخدامها في عملية التنقيح (debugging)، أو قد تُستخدَم الإشارة TERM لبدء إيقاف تشغيل العملية بشكل مُراقَب. pid = fork do Signal.trap("USR1") do $debug = !$debug puts "Debug now: #$debug" end Signal.trap("TERM") ...

PHP/Topics

الضبط كيفية ضبط لغة PHP عبر مختلف أنواع ملفات الضبط، وطرائق تعديلها. بنية اللغة تبيان أنواع وسوم لغة PHP، وطريقة دمجها مع HTML، وشرح بعض خصائصها البنيوية (ومن بينها التعليقات). أنواع البيانات لا يعيّن المبرمج نوع المتغير عادةً، بل تُعيِّنُه لغة PHP أثناء التنفيذ بالاعتماد على محتوى المتغير المستخدم. القيم المنطقية (boolean) القيم المنطقية (boolean) من أبسط الأنواع، فالتعبير المنطقي يُعبِّر عن صحّة تعبيرٍ ما، فإما أن تكون قيمة التعبير صحيحةً TRUE أو خطأً FALSE. الأعداد الصحيحة (integer) العدد الصحيح هو عدد من ...

إعادة التوجيه والحلقات في Bash

إعادة توجيه المُدخلات يمكن تحديد ملف به تعليمات تُستخدم للتحكم في حلقة تكرارية بدلًا من التحكم فيها عن طريق تفقد نتيجة أمر ما أو عن طريق تدخل المستخدم يدويًا، وعادة ما يُستخدم أمر read في هذه الحالة كأمر متحكِّم، ويستمر تنفيذ الحلقة طالما تُغذَّى الحلقة التكرارية بأسطر مدخلات من ذلك الملف، وبمجرد قراءة جميع الأسطر فإن الحلقة تتوقف وتخرج. وبما أن بنية الحلقة التكرارية تُعد بنية لأمر واحد (مثل while TEST-COMMAND; do CONSEQUENT-COMMANDS; done) فإن إعادة التوجيه يجب أن تحدث ...

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

وظيفة هذا الصنف هي قراءة ملفات الأرشيف من نوع tar والكتابة فيها. لا تستخدم هذا الصنف مباشرة، بل استخدم الدالة tarfile.open()‎ عوضًا عنه. يقدّم كائن TarFile واجهة لملفات الأرشيف من نوع tar. يتكوّن أرشيف tar من تسلسل من الكتل، ويتكوّن عضو الأرشيف (الملفّ المخزّن) من كتلة الترويسة header block متبوعة بكتل البيانات. يمكن تخزين ملف معيّن في أرشيف tar عدّة مرات، ويُمثّل كل عضو في الأرشيف بواسطة كائن TarInfo (راجع قسم كائنات TarInfo للمزيد من التفاصيل). يمكن استخدام كائن TarFile ...

الدالة ‎‎jQuery.get()‎‎ في jQuery

jQuery.get( url [, data ] [, success ] [, dataType ] )‎ القيم المعادة يعيد كائنًا من النوع jqXHR. الوصف يجلب هذا التابع بياناتٍ من الخادم باستعمال طلب HTTP عبر الطريقة GET. jQuery.get( url [, data ] [, success ] [, dataType ] )‎ أُضيفت مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية ترسل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR ...

الدالة ‎‎jQuery.get()‎‎ في jQuery

jQuery.get( url [, data ] [, success ] [, dataType ] )‎ القيم المعادة يعيد كائنًا من النوع jqXHR. الوصف يجلب هذا التابع بياناتٍ من الخادم باستعمال طلب HTTP عبر الطريقة GET. jQuery.get( url [, data ] [, success ] [, dataType ] )‎ أُضيفت مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية ترسل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR ...

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

(PHP 4 >= 4.0.1, PHP 5, PHP 7) تستعيد الدالة restore_error_handler()‎ معالجة الأخطاء السابقة. الوصف bool restore_error_handler ( void ) تستعيد الدالة restore_error_handler()‎ معالجة الأخطاء السابقة وذلك للعودة إلى معالج الخطأ السابق (الذي يمكن أن يكون مدمجا أو وظيفة معرفة من طرف المستخدم). القيم المعادة تعيد الدالة restore_error_handler()‎ دائما القيمة TRUE. أمثلة المثال 1: استعمال الدالة restore_error_handler()‎ <?php function unserialize_handler($errno, $errstr) {     echo "Invalid serialized value.\n"; } $serialized = 'foo'; set_error_handler('unserialize_handler'); $original = unserialize($serialized); restore_error_handler(); ?> سوف تكون مُخرجات المثال أعلاه قيمة متسلسلة غير صالحة كالتالي Invalid serialized value انظر أيضا الدالة ()error_reporting: تحدد أي أخطاء PHP يبلغ عنها الدالة ()set_error_handler: تحدد وظيفة معالج ...

استبدال شيفرات الأخطاء باستثناءات (Replace Error Code with Exception)

المشكلة يعيد التابع قيمة خاصة تشير إلى خطأ. الحل إطلاق استثناء بدلًا من ذلك. مثال قبل إعادة التصميم يعيد التابع ()withdraw القيمة 1- التي تمثِّل خطأً إن تحقق شرط محدَّد: في لغة Java: int withdraw(int amount) { if (amount > _balance) { return -1; } else { balance -= amount; return 0; } } في لغة C#‎: int Withdraw(int amount) { if (amount > _balance) { ...

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

تتحقَّق الدالة function_exists()‎ إذا كانت دالةٌ ما موجودةً أم لا. البنية العامة function_exists($name) المعاملات ‎$name اسم أو مرجع الدالة المراد التحقُّق من وجودها. القيم المعادة تُعاد القيمة المنطقيَّة TRUE إذا كانت الدالة مُعرّفةً. خلا ذلك، تُعاد القيمة FALSE. أمثلة مثال عن استخدام الدالة function_exists()‎ لمعرفة إن كانت الدالة myfunc التي عرّفها المستخدم موجودةً أم لا: // تعريف الدالة myfunc @function myfunc() { @return "something"; } @if function_exists(myfunc) { @debug "myfunc exists!"; } يمكن أيضًا استخدام الدالة function_exists()‎. لمعرفة إن كانت الدالة content_exists()‎ متوافرةً أم لا ...

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

jQuery.readyException( error )‎ القيم المعادة يعيد مُحدِّدًا (Selector). الوصف يعالج هذا التابع الأخطاء التي رميت في الدوال المُغلَّفَة في jQuery()‎ بشكل متزامن. jQuery.readyException( error )‎ أُضيفت مع الإصدار: 3.1. error خطأٌ رُمِيَ في الدالة المُغلَّفَة في jQuery()‎. يُطلق هذا التابع عدما يُرمَى خطأٌ في الدالة المغلَّفة في jQuery()‎ أو jQuery( document ).ready()‎ أو ما شابههما. يعيد هذا التابع افتراضيًّا رَمْيَ الخطأ عىل شكل timeout وبذلك يُسجل دخولها إلى الطرفيَّة (console) وتمرَّر إلى window.onerror بدلًا من اختفائها دون سدًى. استَبدل هذا ...

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

jQuery.readyException( error )‎ القيم المعادة يعيد مُحدِّدًا (Selector). الوصف يعالج هذا التابع الأخطاء التي رميت في الدوال المُغلَّفَة في jQuery()‎ بشكل متزامن. jQuery.readyException( error )‎ أُضيفت مع الإصدار: 3.1. error خطأٌ رُمِيَ في الدالة المُغلَّفَة في jQuery()‎. يُطلق هذا التابع عدما يُرمَى خطأٌ في الدالة المغلَّفة في jQuery()‎ أو jQuery( document ).ready()‎ أو ما شابههما. يعيد هذا التابع افتراضيًّا رَمْيَ الخطأ عىل شكل timeout وبذلك يُسجل دخولها إلى الطرفيَّة (console) وتمرَّر إلى window.onerror بدلًا من اختفائها دون سدًى. استَبدل هذا ...

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

يعتبر الصنف SystemCallError الصنف الأب لكل أصناف الأخطاء منخفضة المستوى المرتبطة بنظام التشغيل. الأخطاء المتوفرة على نظام التشغيل الحالي هي أصناف فرعية من الصنف SystemCallErrorـ وهي مُعرّفة في الوحدة Errno. File.open("does/not/exist")‎ عند تنفيذ هذا السطر البرمجي، سيطلق استثناء بالشكل التالي: Errno::ENOENT: No such file or directory - does/not/exist‎ توابع الصنف العامة (Public Class Methods) === يتحقق إن كان الاستثناء الذي استُدعي معه كائنًا عامًا من الصنف SystemCallError، أو إن كان رقما الخطأ الخاصين بهذا الاستثناء والاستثناء الآخر المعطى متساويين. new ...

التعابير النمطية وأمثلة عن استخدام grep

التعابير النمطية Regular Expressions التعبير النمطي (Regular Expression) هو أسلوب يصف مجموعة من النصوص (strings)، وتُبنى تلك التعابير النمطية بشكل تناظري للتعابير الحسابية (arithmetic expressions) باستخدام عدة معامِلات لدمج التعابير الأصغر. وأصغر وحدة بنائية للتعابير النمطية هي تلك التي تطابق محرفًا واحدًا، ذلك أن أغلب المحارف -بما في ذلك كل الحروف والأرقام- ما هي إلا تعابير نمطية تطابق أنفسها، ويمكن اقتباس أي محرف خاص (metacharacter) له معنىً خاص بسبْقِه بشرطة مائلة خلفية \. المحارف الخاصة للتعابير النمطية يمكن إتْباع التعبير ...

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

تتحقَّق الدالة global_variable_exists()‎ ما إذا كان متغيِّر ما موجودًا في النطاق العام (global scope)، أي في المستوى الأعلى من الملف. البنية العامة global_variable_exists($name) المعاملات ‎$name اسم المتغير المراد التحقُّق منه. لا ينبغي أن يتضمن اسم المتغير البادئةَ $. القيم المعادة تُعاد القيمة المنطقيَّة TRUE إذا كان المتغير مُعرّفًا في النطاق العام. خلا ذلك، تُعاد القيمة FALSE. أمثلة مثال عن استخدام الدالة global_variable_exists()‎ للتحقق من وجود متغير في النطاق العام باسم global-var وآخر باسم local-var: $global-var: "value"; .selector { $local-var: "value"; ...

الاستثناءات المعرفة من طرف المستخدم

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

الاستثناءات المعرفة من طرف المستخدم

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

الدالة validate.validator()‎‎ في بايثون

تغلّف هذه الدالة التطبيق المعطى وتعيد كائن تطبيق WSGI جديد، وسيوجّه التطبيق المعاد جميع الطلبات إلى التطبيق الأصلي، وسيتحقّق من أنّ كلًّا من التطبيق والمخدّم الذي يستدعيه متوافقان مع معايير WSGI وللبروتوكول RFC 2616. يؤدي وجود أيّ حالة من حالات عدم التوافق إلى إطلاق الخطأ AssertionError، ولكن يجب الانتباه إلى أنّ طريقة التعامل مع هذه الأخطاء تعتمد على المخدّم، فعلى سبيل المثال يعطي المخدّم wsgiref.simple_server و المخدّمات المستندة على أصناف الوحدة wsgiref.handlers (والتي لا تعيد تعريف توابع التعامل مع الأخطاء ...

مطابقة الأنماط باستخدام ميزات Bash

مدى المحارف Character Ranges خلافًا لأمر grep والتعابير النمطية (regular expressions) فإن لدينا حالات كثيرة لمطابقة الأنماط التي يمكنك إجراؤها في الصدفة مباشرة دون الحاجة إلى استخدام برنامج خارجي، فلعلك تعلم أن محرفي * و ? يطابقان أي نص أو محرف وحيد -على الترتيب-، ومن أجل مطابقة هذين المحرفيْن تحديدًا، ضع حول كل منهما علامات اقتباس مزدوجة: hsoub ~> touch "*" hsoub ~> ls "*" * يمكنك استخدام الأقواس المربعة لمطابقة أي محرف أو مجموعة محارف بداخل تلك الأقواس إن فُصلت أزواج المحارف ...

التابع HTTPErrorProcessor.http_response()‎‎ في بايثون

يعالج التابع استجابات HTTP التي تتضمن أخطاءً. البنية العامة HTTPErrorProcessor.http_response(request, response) القيمة المعادة يعاد كائن الاستجابة مباشرة في الأخطاء ذات الرمز 200. أما في حال ظهور الأخطاء الأخرى فإنّ العمل ينتقل إلى توابع المعالجة protocol_error_code()‎ بواسطة التابع OpenerDirector.error()‎. ويُطلق الصنف المعالج HTTPDefaultErrorHandler استثناء من نوع HTTPError في حال عدم معالجة الخطأ من قبل أيّ صنفٍ معالج. مصادر صفحة Extensible library for opening URLs في توثيق بايثون الرسمي.

الكائن Process

يكون الكائن process عامًا (global) والذي يزود معلومات عن عملية Node.js الحالية ورقابةً عليها، كونه كائنًا عامًا فهو متوافر دومًا لتطبيقات Node.js دون استخدام ()require. أحداث Process الكائن process هو نسخة من EventEmitter. الحدث 'beforeExit' أُضيف في الإصدار: 0.11.12. يُطلَق الحدث 'beforeExit' عندما تفرغ Node.js من حلقة الأحداث (event loop) ولا يوجد عمل إضافي لجدولته. بشكل طبيعي، عملية Node.js سوف تنتهي عندما لا يكون هناك عمل مجدولٌ، لكن المُنصِت المسجِّل لحدث 'beforeExit' يمكن أن يعمل استدعاءات غير متزامنة، وبذلك يسبب ...

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

تتحقَّق الدالة mixin_exists()‎ إذا كان مخلوطٌ (mixin) ما موجودًا أم لا. البنية العامة mixin_exists($name) المعاملات ‎$name اسم المخلوط المراد التحقَّق من وجوده. القيم المعادة تُعاد القيمة المنطقيَّة TRUE إذا كان المخلوط ذو الاسم ‎$name مُعرّفًا، أو القيمة FALSE خلاف ذلك. أمثلة مثال عن استخدام الدالة mixin_exists()‎: @debug mixin-exists(nonexistent); // false @mixin red-text { color: red; } @debug mixin-exists(red-text); // true انظر أيضًا الدالة function_exists()‎: تتحقَّق ما إذا كانت دالة ما موجودة. الدالة global_variable_exists()‎: تتحقَّق ما إذا كان متغير ما موجود في النطاق العام. ...

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

jQuery.ajaxPrefilter( [dataTypes ], handler )‎ القيم المعادة يعيد قيمةً غير مُعرَّفة (undefined). الوصف يعالج هذا التابع إعدادات Ajax المخصَّصة أو يعدِّل إعدادات موجودة قبل أن يرسل كل طلب وقبل أن يعالج باستعمال الدالة ‎$.ajax()‎. jQuery.ajaxPrefilter( [dataTypes ], handler )‎ أُضيف مع الإصدار: 1.5. dataTypes سلسلة نصية اختياريَّة تحتوي على نوع بيانات (dataType) واحد أو عدَّة أنواع مفصولة بفراغ. handler دالة من الشكل Function( Object options, Object originalOptions, jqXHR jqXHR )‎ وتستعمل لتعيين قيم افتراضيَّة لطلبات Ajax المستقبليَّة. تبدو عملية الترشيح ...

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

jQuery.ajaxPrefilter( [dataTypes ], handler )‎ القيم المعادة يعيد قيمةً غير مُعرَّفة (undefined). الوصف يعالج هذا التابع إعدادات Ajax المخصَّصة أو يعدِّل إعدادات موجودة قبل أن يرسل كل طلب وقبل أن يعالج باستعمال الدالة ‎$.ajax()‎. jQuery.ajaxPrefilter( [dataTypes ], handler )‎ أُضيف مع الإصدار: 1.5. dataTypes سلسلة نصية اختياريَّة تحتوي على نوع بيانات (dataType) واحد أو عدَّة أنواع مفصولة بفراغ. handler دالة من الشكل Function( Object options, Object originalOptions, jqXHR jqXHR )‎ وتستعمل لتعيين قيم افتراضيَّة لطلبات Ajax المستقبليَّة. تبدو عملية الترشيح ...

الخطافات غير المتزامنة في Node.js

الاستقرار: 1-تجريبي توفِّر الوحدة async_hooks واجهة برمجية (API) لتسجيل دوال ردود النداء التي تتعقَّب دورة حياة (lifetime) الموارد غير المتزامنة (asynchronous resources) المُنشأَة داخل تطبيقات Node.js. يمكن الوصول إلى هذه الوحدة باستعمال الأمر التالي: const async_hooks = require('async_hooks'); اصطلاحات يمثِّل المورد غير المتزامن كائنًا مرفقًا به رد نداء. قد يُستدعَى رد النداء هذا عدَّة مرات، مثل الحدث 'conection' في net.createServer()‎، أو مرةً واحدة فقط، مثل fs.open()‎. يمكن أن يُغلق المورد أيضًا قبل أن يُستدعَى رد النداء. لا تفرِّق الوحدة AsyncHook ...

الأمران Break و Continue

أمر Break تُستخدم عبارة Break للخروج من الحلقة التكرارية الحالية قبل موعد خروجها الأصلي، ويحدث هذا في الحالات التي لا تعرف فيها عدد المرات التي يجب أن تنفذها الحلقة، كأن تعتمد على إدخال المستخدم مثلًا. يوضح المثال التالي حلقة while يمكن مقاطعتها، وهو مثال مُطوَّر من برنامج wisdom.sh من المثال المشروح في استخدام مُدخلات لوحة المفاتيح للتحكم في حلقة while : #!/bin/bash # هذا البرنامج يطبع أمثالًا ونصائح # يمكنك الخروج الآن بطريقة أفضل. FORTUNE=/usr/games/fortune while true; do echo "On which topic do you want advice?" echo ...

الوحدة Errno في روبي

تعدُّ كائنات الاستثناءات في روبي أصنافًا فرعيةً (subclasses) من الصنف Exception. على أي حال، تُبلِّغ أنظمة التشغيل عادةً عن الأخطاء باستخدام أعدادٍ صحيحةٍ مبسّطةٍ (plain integers). تُنشَأ الوحدة Errno ديناميكيًّا لتنظيم تفاصيل هذه الأخطاء الناتجة عن أنظمة التّشغيل وإرسالها إلى أصناف روبي، مع توليد صنف فرعي من الصنف SystemCallError خاص بكل رقم خطأٍ. عند إنشاء الصّنف الفرعي في الوحدة Errno، ستبدأ تسميته بالاسم ::Errno. تعتمد أسماء الأصناف ::Errno تعتمد على البيئة التي تعمل فيها روبي. ففي منصة يونكس أو ويندوز ...

تثبيت وضبط واستخدام Sass

يمكن استخدام Sass بثلاث طرائق هي: كأداة سطر أوامر، أو كوحدةٍ مستقلة لروبي، أو كمُلحقة في أيّ بيئة عمل تدعم Rack، بما في ذلك Ruby on Rails و Merb. تثبيت Sass الخطوة الأولى لاستخدام Sass هي تثبيت الجوهرة (gem)‏ Sass: gem install sass إن كنت تستخدم نظام ويندوز، فقد تحتاج إلى تثبيت روبي أولاً. لتشغيل Sass من سطر الأوامر، يكفي أن تكتب الأمر الآتي: sass input.scss output.css يمكنك أيضًا إخبار Sass بمراقبة الملف وتحديث ملف CSS الناتج عند كلِّ تغيُّرٍ في ملف ...

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

تعيد الدالة simple_selectors()‎ المحدّدات البسيطة التي يتركّب منها المحدّد المركّب المُمرَّر إليها. لاحظ أنّ المحدِّد ‎$selector المرَّر إلى الدالة ينبغي أن يكون محدِّدًا مركَّبًا. هذا يعني أنَّه لا يمكن أن يحتوي على فواصل أو مسافات، ويعني ذلك أيضًا أنَّ هذه الدالة لا تقبل سوى سلاسل نصيَّة وليس القوائم بخلاف دوال المحدَّدات الأخرى. البنية العامة simple_selectors($selector) المعاملات ‎$selector المُحدد المُركَّب المراد استخراج المحدَّدات البسيطة التي يتركَّب منها. القيم المعادة تُعاد قائمة بالمحدِّدات البسيطة الموجودة في المحدِّد المركَّب ‎$selector. أمثلة أمثلة نموذجية ...

التابع BaseHandler.unknown_open()‎‎ في بايثون

هذا التابع غير معرّف في الصنف BaseHandler، ولكن يجب على الأصناف المتفرّعة منه أن تعيد تعريفه إن كانت معدّة لالتقاط جميع أخطاء HTTP غير المعالجة. يُستدعى هذا التابع تلقائيًا بواسطة كائن OpenerDirector الذي يتلقّى الخطأ، ويجب عدم استدعائه في الظروف الأخرى. يُستدعى هذا التابع، في حال استخدامه، من قبل كائن OpenerDirector الأب. يُستدعى هذا التابع قبل أي تابع open خاصّ بالبروتوكول. البنية العامة BaseHandler.http_error_default(req, fp, code, msg, hdrs) المعاملات req سيكون كائن Request. fp سيكون كائنًا شبيهًا بالملفات مع متن ...

عمليات التحقق من Active Record في ريلز

يعلِّمك هذا الدليل كيفية التحقق من حالة الكائنات قبل إرسالها إلى قاعدة البيانات باستعمال ميزة التحققات من الصحة (validations) التي يوفرها Active Record. بعد قراءة هذا الدليل، ستتعرَّف على: كيفية استعمال مساعدي التحقق من الصحة (validation helpers) لـ Active Record المدمجين. كيفية إنشاء توابع مخصصة للتحقق من الصحة. كيفية العمل مع رسالة الخطأ المولدة عبر عملية التحقق. نظرة عامة على عمليات التحقق الشيفرة التالية تظهر مثالًا عن تحقق بسيط جدًا: class Person < ApplicationRecord validates :name, presence: true end Person.create(name: ...

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

يعيد التابع argv المصفوفة ARGV التي تحوي الوسائط المُمرّرة إلى ملفك البرمجي (script)، إذ يخزَّن في كلِّ عنصر من عناصرها وسيطٌ واحدٌ. البنية العامة argv → ARGV القيم المعادة تعاد المصفوفة ARGV التي تحوي الوسائط المُمرّّرة إلى ملفك البرمجي (script). أمثلة مثالٌ على استخدام التابع argv: $ ruby argf.rb -v glark.txt ARGF.argv #=> ["-v", "glark.txt"] انظر أيضًا التابع binmode: يفعِّل الوضع الثنائي (binary mode) للمجرى ARGF. مصادر قسم التابع argv في الصنف ARGF في توثيق روبي الرسمي.

التابع BaseHandler.http_error_nnn()‎‎ في بايثون

يجب أن تكون nnn عددًا من ثلاث مراتب يمثّل شيفرة خطأ HTTP. هذا التابع غير معرّف في الصنف BaseHandler أيضًا، ولكن سيُستدعى إن كان موجودًا على نسخة من الصنف المتفرّع عن الصنف BaseHandler عند حدوث خطأ HTTP يحمل الشيفرة nnn. يجب على الأصناف الفرعية أن تعيد تعريف هذا التابع لمعالجة أخطاء HTTP معيّنة. البنية العامة BaseHandler.http_error_nnn(req, fp, code, msg, hdrs) يجب أن تكون المعاملات والقيم المعادة والاستثناءات المُطلقة مشابهة لنظيراتها في التابع http_error_default()‎. مصادر صفحة Extensible library for opening URLs ...

الدالة ‎‎jQuery.post()‎‎ في jQuery

jQuery.post( url [, data ] [, success ] [, dataType ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة بياناتٍ من الخادم باستعمال طلب HTTP عبر الطريقة POST. jQuery.post( url [, data ] [, success ] [, dataType ] )‎ أُضيف مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية ترسل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR ...

الدالة ‎‎jQuery.post()‎‎ في jQuery

jQuery.post( url [, data ] [, success ] [, dataType ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة بياناتٍ من الخادم باستعمال طلب HTTP عبر الطريقة POST. jQuery.post( url [, data ] [, success ] [, dataType ] )‎ أُضيف مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية ترسل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR ...

الصنف wsgiref.handlers.BaseHandler‎‎ في بايثون

هذا الصنف هو صنف أساسي مجرّد يستخدم لتشغيل تطبيقات WSGI. تعالج كل نسخة من هذا الصنف طلب HTTP منفردًا، ولكن يمكن إنشاء صنف فرعي بمقدوره التعامل مع طلبات متعددة. توابع الصنف BaseHandler تمتلك نسخ BaseHandler تابعًا واحدًا فقط وهو معدّ للاستخدام الخارجي: التابع run()‎ يشغّل التابع تطبيق WSGI المعطى. تنفّذ جميع توابع BaseHandler الأخرى بواسطة هذا التابع أثناء عملية تشغيل التطبيق؛ لذا فإنّ الهدف الرئيسي من هذا التابع هو إتاحة القدرة على تخصيص هذه العملية. يجب إعادة تعريف التوابع التالية ...

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

‎.ajaxError( handler )‎ القيمة المعادة كائن jQuery. الوصف يُستخدَم التّابع ‎.ajaxError()‎ لتسجيل مُعالِج الأحداث (Event handler) لاستدعائه عند اكتمال تنفيذ طلب Ajax مع حدوث خطأ،  يُعدُّ هذا التّابع حدثًا من أحداث Ajax. ‎.ajaxError( handler )‎ أضيفت في الإصدار 1.0. handler دالة على الشكل ‎Function( Event event, jqXHR jqXHR, PlainObject ajaxSettings, String thrownError )‎، وهي الدالة المطلوب استدعاؤها. حالما يكتمل تنفيذ طلب Ajax، تُطلِق jQuery الحدث ajaxError. وتُنفَّذ عندها كافّة مُعالجات الأحداث المُسجَّلة مع التّابع ‎‎.ajaxError()‎‎. ملاحظة: لا يُستدعى مُعالِج الأحداث ...

التابع Encoding::Converter.last_error في روبي

يُعيد التّابع last_error الكائن exception عند حصول خطأٍ في آخر عملية تحويل أو يعيد القيمة nil إن لم يحصل أي خطأ. تشير القيمة "error" إلى أنَّ الخطأين Encoding::InvalidByteSequenceError وEncoding::UndefinedConversionError نتجا من التّابع convert، وأنَّ invalid_byte_sequence: وincomplete_input: و undefined_conversion: نتجوا من التّابع primitive_convert. البنية العامة last_error → exception or nil القيم المعادة يُعاد الكائن exception عند حصول خطأٍ في آخر عملية تحويل، أو تعاد القيمة nil إذا جرى التحويل الأخير من دون أخطاءٍ. أمثلة مثالٌ عن استخدام التابع last_error: ec = ...

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

يحذف التابع unlink ملفًا محدَّدًا. يرمي هذا التابع استثناءً عند حصول أي خطأ. لمَّا كان التنفيذ الضمني لهذا التابع يعتمد على استدعاء النظام للدالة unlink(2)‎، فسيعتمد نوع الخطأ المرمي على أنواع الأخطاء الخاصة بها (اطلع على صفحة الدليل man لهذه الدالة لمزيد من التفاصيل) التي تأخذ شكلًا محدَّدًا مثل Errno::ENOENT. البنية العامة unlink(file_name, ...) → integer القيمة المعادة يعاد انظر أيضا التابع delete: يحذف ملفًا محدَّدًا. التابع new: يفتح ملفًا محدَّدًا وبوضع معيَّن ثم يعيد كائنًا جديدًا من النوع File. مصادر قسم التابع ...

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

jQuery.ajaxTransport( dataType, handler )‎ القيم المعادة يعيد قيمةً من النوع undefined. الوصف ينشئ هذا التابع كائنًا يعالج عملية الإرسال الفعلي لبيانات Ajax. jQuery.ajaxTransport( dataType, handler )‎ أُضيف مع الإصدار: 1.5. dataTypes سلسلة نصية تحدِّد نوع البيانات المراد استعمال هذا التابع معها. handler دالةٌ من الشكل Function( Object options, Object originalOptions, jqXHR jqXHR )‎ تعيد الكائن transport الجديد لاستعماله مع نوع البيانات المحدَّد في الوسيط الأول. الكائن transport هو كائنٌ يوفر تابعين اثنين هما: التابع send، والتابع abort اللذان تستعملهما الدالة ...

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

jQuery.ajaxTransport( dataType, handler )‎ القيم المعادة يعيد قيمةً من النوع undefined. الوصف ينشئ هذا التابع كائنًا يعالج عملية الإرسال الفعلي لبيانات Ajax. jQuery.ajaxTransport( dataType, handler )‎ أُضيف مع الإصدار: 1.5. dataTypes سلسلة نصية تحدِّد نوع البيانات المراد استعمال هذا التابع معها. handler دالةٌ من الشكل Function( Object options, Object originalOptions, jqXHR jqXHR )‎ تعيد الكائن transport الجديد لاستعماله مع نوع البيانات المحدَّد في الوسيط الأول. الكائن transport هو كائنٌ يوفر تابعين اثنين هما: التابع send، والتابع abort اللذان تستعملهما الدالة ...

الوحدات والأصناف في روبي

الوحدات تخدم الوحدات (Modules) غايتين اثنتين في لغة روبي وهما: ميّزة نطاقات الأسماء (namespace)، والخلط الضمني (mix-in) التي سنوضّحها لاحقًا. يستخدم نطاق الأسماء لتنظيم الشيفرة البرمجية ضمن مجموعات مستقلّة تمنع تداخل التوابع والمتغيّرات ذات الأسماء المتشابهة فيما بينها. فعلى سبيل المثال، نطاق الأسماء IRB يوفّر عمليات irb والتي تمنع التصادم مع الاسم الشائع "Context". وظيفة الخلط الضمني (Mix-in) تسمح بمشاركة توابع مشتركة عبر عدد من الأصناف أو الوحدات، إذ يأتي مع لغة روبي على سبيل المثال الوحدة Enumerable التي توفّر ...

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

يحذف التابع delete ملفًا محدَّدًا. يرمي هذا التابع استثناءً عند حصول أي خطأ. لمَّا كان التنفيذ الضمني لهذا التابع يعتمد على استدعاء النظام للدالة unlink(2)‎، فسيعتمد نوع الخطأ المرمي على أنواع الأخطاء الخاصة بها (اطلع على صفحة الدليل man لهذه الدالة لمزيد من التفاصيل) التي تأخذ شكلًا محدَّدًا مثل Errno::ENOENT. البنية العامة delete(file_name, ...) → integer المعاملات file_name اسم الملف المراد حذفه. ... أسماء الملفات الأخرى المراد حذفها. القيمة المعادة يعاد عدد صحيح يمثِّل عدد الملفات التي أعطيت والتي يراد حذفها. انظر ...

التعبير ‎#define في أردوينو

التعبير ‎#define هو أحد العناصر المفيدة في C، إذ يسمح بإعطاء اسمٍ لقيمةٍ ثابتةٍ قبل أن يُفسَّر البرنامج. الثوابت المعرَّفة باستعمال هذا التعبير في أردوينو لا تحتل أيَّة مساحةٍ من ذاكرة البرنامج على الشريحة (chip). سيبدِّل المفسِّر (compiler) القيمة المعرَّفة مكان المراجع التي تشير إلى هذه الثوابت أثناء عملية تصريف الشيفرة. انتبه إلى أنَّ استعمال التعبير ‎#define في تعريف الثوابت كما ذُكِر آنفًا له آثار جانبية غير مرغوبة مثل استعمال اسم ثابت عُرِّف في ‎#define مع اسم ثابت أو متغير ...

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

(PHP 5, PHP 5.4.0, PHP 7) توقف الدالة session_register_shutdown()‎ تشغيل الجلسة. الوصف void session_register_shutdown ( void ) توقف الدالة session_register_shutdown()‎ تشغيل الجلسة. المعاملات لا توجد معاملات. القيم المعادة لا توجد قيم معادة. أخطاء واستثناءات سيُولَّد الخطأ E_WARNING إذا فشل تسجيل إغلاق الجلسة. مصادر صفحة الدالة session_register_shutdown في توثيق PHP الرسمي.

الدالة Promise.prototype.catch()‎ في JavaScript

الدالة catch()‎ تعيد وعدًا Promise وتتعامل مع حالات رفض الوعود فقط. وهي تسلك نفس سلوك استدعاء الدالة Promise.prototype.then(undefined, onRejected)‎. وفي الواقع، استدعاء الدالة obj.catch(onRejected)‎ سيستدعي الدالة obj.then(undefined, onRejected)‎ داخليًا. var promise1 = new Promise(function(resolve, reject) { throw 'Uh-oh!'; }); promise1.catch(function(error) { console.log(error); }); // Uh-oh! البنية العامة p.catch(onRejected); p.catch(function(reason) { // التعامل مع الرفض }); المعاملات onRejected دالة تستدعى عند رفض الوعد Promise. هذه الدالة تملك معاملًا وحيدًا: reason سبب الرفض. الوعد المُعاد من الدالة catch()‎ سيُرفَض إذا رمت الدالة onRejected أو ...

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