نتائج البحث

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

الاستخدامات المتقدمة لعبارة 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> الفرق بين [] و [[]] على عكس ]، فإن ]] تمنع انقسام الكلمات في ...

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

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

المزيد من خيارات Bash

ناقشنا بعض خيارات صدفة Bash التي قد تفيدك في تنقيح برامج Bash، وسننظر الآن في مزيد من تلك الخيارات بتفصيل أكثر. عرض الخيارات استخدم خيار o- لأمر set لعرض كل خيارات الصدفة: hsoub:~> set -o allexport off braceexpand on emacs ...

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

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

حلقة until في Bash

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

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

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

المهام التكرارية في Bash

ستتعلم في هذا القسم كيف يمكن للأوامر المتكررة أن تندمج في حلقات تكرارية، وكيف تُبنى الحلقات التكرارية باستخدام عبارات for أو while أو until إحداها أو جميعها معًا، فحلقة for تنفذ مهمة ما عددًا محددًا من المرات، وإن كنت لا تعرف كم عدد مرات تنفيذ الأمر فاستخدم عبارة until أو while لتحديد متى يجب أن تتوقف الحلقة. ويمكن مقاطعة الحلقات أو إعادة تكرارها باستخدام عبارتي break و continue، كما يمكن استخدام ملف كمُدخَل لحلقة عبر معامل إعادة توجيه المدخلات، كذلك ...

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

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

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

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

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

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

حلقة while في Bash

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

الأوامر البديلة في 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}$ إن لم ...

كتابة وتنقيح برامج Bash

برنامج الصدفة هو سلسلة من الأوامر يعاد استخدامها بشكل متكرر، ووُضعت في ملف نصي له إذن تنفيذ كبرنامج، ويمكن استخدام أي محرر نصي لكتابة برامج لصدفة Bash. تبدأ برامج bash بـ !# متبوعيْن بمسار الصفة التي ستنفذ الأوامر التي ستُكتب في البرنامج، وتضاف التعليقات إلى البرنامج للمرجعية فيما بعد ولتيسير فهم الشيفرة على من يقرؤها. يُفضل الإسهاب في التعليقات داخل برامج الصدفة على الإيجاز فيها. تُنقَّح الصدفة باستخدام خيارات الصدفة، ويمكن استخدام تلك الخيارات للتنقيح الجزئي أو لتحليل الشيفرة كاملة، ...

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

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

أساسيات كتابة برامج Bash

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

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

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

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

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

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

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

الحصول على مُدخلات المستخدم في Bash

استخدام أمر read أمر read هو الأمر المتمم لأمريْ echo و printf، وبنيته اللغوية كالتالي: read [options] NAME1 NAME2 ... NAMEN يُقرأ سطر واحد من المُدخل القياسي (standard input) أو من واصف ملف (file descriptor) أُدخِل كوسيط لخيار u-، وتُعيَّن أول كلمة من السطر لأول اسم NAME1، والثانية للاسم الثاني NAME2 وهكذا، ثم تُعيَّن الكلمات المتبقية وفاصلاتها المتداخلة (intervening seperators) إلى الاسم الأخير NAMEN، أما إن كانت الكلمات المقروءة من مجرى الدخل أقل من الأسماء فتعيَّن قيم فارغة لتلك الأسماء. تُستخدم ...

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

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

إنشاء وتشغيل برنامج Bash

الكتابة والتسمية إن كان لديك سلسلة أوامر تنفذها بشكل متكرر وتريد اختصار وقت تنفيذها أو تنفيذها بشكل آلي، فيمكنك وضعها في ملف فارغ يكتب بصيغة معينة وتقرؤه الصدفة على أنه برنامج تنفذه عند استدعاءه بكتابة اسم الملف الذي يحويه، وتسمى تلك البرامج ببرامج الصدفة أو شيفرات الصدفة النصية (Shell Scripts). ويمكن استخدام تلك البرامج لأتمتة المهام باستخدام أداة cron أو في إجراءات الإقلاع وإيقاف التشغيل في أنظمة يونكس، حيث يُحدَّد أسلوب عمل العفاريت (daemons) والخدمات في شيفرات init النصية (init ...

إنشاء قوائم باستخدام الأمر المُضمَّن select في Bash

عام استخدام أمر select البُنية اللغوية لأمر select تشبه بُنية حلقة for: select WORD [in LIST]; do RESPECTIVE-COMMANDS; done ويُستخدم أمر select من أجل إنشاء قوائم بسهولة عبر اتباع ما يلي: تُوسّع القائمة LIST مولِّدة قائمة من العناصر ويطبع التوسع في خطأ قياسي (standard error)، كما يُسبق كل عنصر من القائمة برقم. وإن لم تكن in LIST موجودة فتُطبع المعامِلات الموضعية كما لو تم تحديد @$ in. أيضًا، تُطبع قائمة LIST مرة واحدة فقط. يُطبع محث PS3 عند طباعة كل العناصر، ...

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

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

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

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

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

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

الأمران 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 ...

 التابع ENV.to_a في روبي

يحول التابع to_a متغيرات البيئة إلى مصفوفة مكونة من مصفوفات فرعية تضم أسماء وقيم تلك المتغيرات. البنية العامة to_a → Array القيمة المعادة تُعاد مصفوفة مكونة من مصفوفات فرعية تضم أسماء وقيم متغيرات البيئة. أمثلة مثال عن استخدام التابع to_a: ENV.to_a # => [["TERM", "xterm-color"], ["SHELL", "/bin/bash"], ...] انظر أيضًا التابع to_h: ينشئ جدولًا من النوع Hash يحوي نسخةً من متغيرات البيئة.  التابع to_s: يعيد السلسلة النصية “ENV”. مصادر قسم التابع to_a في الصنف ENV في توثيق روبي الرسمي.

Function.arguments

الخاصية Function.arguments تُشير إلى كائنٍ شبيهٍ بالمصفوفات الذي يحتوي على الوسائط المُمرَّرة إلى الدالة. أصبحت هذه الخاصية مهملة في ES3، ويجدر بنا استخدام الكائن arguments بدلًا منها، ومن الممنوع استخدام هذه الخاصية في نمط strict. الوصف في حالة الاستدعاء التعاودي (recursion)، ستُمثِّل قيمة f.arguments وسائط آخر استدعاء للدالة. أمثلة function f(n) { g(n - 1); } function g(n) { console.log('before: ' + g.arguments[0]); if (n > 0) { f(n); } console.log('after: ' + g.arguments[0]); } f(2); console.log('returned: ' + g.arguments); // الناتج // ...

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

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

الدالة 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 أو ...

استدعاء التوابع في روبي

عندما تستدعي تابعًا، فإنّك تمرّر رسالة لكائن معيّن لأجل تنفيذ مهمّة معيّنة، ويتمّ ذلك في لغة روبي كالتّالي: my_method() لاحظ أنّ استخدام الأقواس المنحنية هنا اختياريّ: my_method المعتمد في هذا التّوثيق أن تُستخدّم الأقواس عند وجود المعامِلات لإزالة الالتباس، إلا في حالة وجود فرق بين وجود الأقواس وحذفها. هذا القسم يغطّي فقط كيفيّة استدعاء التوابع، وستُشرَح كيفيّة تعريف التّوابع في قسم آخر. المستقبِل المستقبِل (Receiver) الافتراضي في لغة روبي هو self وهو الذي يُستخدَم في حال عدم تحديد أيّ مستقبل آخر. ولأجل ...

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

(PHP 4, PHP 5, PHP7) تعيد الدالة func_get_args()‎ بعد استدعائها مصفوفةً عناصرها هي جميع المعاملات التي مُرِّرت للدالة المعرَّفة من طرف المستخدم. الوصف array func_get_args ( void ) تستعمل هذه الدالة غالبًا بالتزامن مع الدالة func_get_arg()‎ والدالة func_num_args()‎ وذلك للسماح للدوال المعرفة من طرف المستخدم بقبول عدد متغيّر من المعاملات. القيم المعادة عند استدعاء هذه الدالة ضمن دالة معرفة من قبل المستخدم، فإنَّها تعيد مصفوفة عناصرها هي جميع المعاملات التي مُرِّرت إلى تلك الدالة آنذاك. سجل التغييرات الإصدار الوصف 5.3.0 يمكن ...

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

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

تابع رد النداء ‎‎callbacks.fire()‎‎‎ في jQuery

تابع رد النداء ‎callbacks.fire( arguments )‎ القيمة المعادة ردود نداء (Callbacks). الوصف يُستخدَم تابع رد النداء ‎callbacks.fire()‎ في استدعاء كافة ردود النداء المُعطاة عن طريق وسائط التابع. ‎callbacks.fire( arguments )‎ أضيفت في الإصدار: 1.7. arguments أي شيء (وهو نوع افتراضي مُستخدَم في jQuery للإشارة إلى إمكانيّة استخدام أي نوع)، ويُمثِّل الوسيط أو قائمة الوسائط المُمرَّرة إلى قائمة ردود النداء. يُعيد هذا التابع كائن ردود النداء المُرفَق إليه (this). أمثلة استخدام callbacks.fire()‎ لاستدعاء ردود النداء الموجودة في القائمة بحسب الوسائط المُمرَّرة: // ...

تابع رد النداء ‎‎callbacks.fire()‎‎‎ في jQuery

تابع رد النداء ‎callbacks.fire( arguments )‎ القيمة المعادة ردود نداء (Callbacks). الوصف يُستخدَم تابع رد النداء ‎callbacks.fire()‎ في استدعاء كافة ردود النداء المُعطاة عن طريق وسائط التابع. ‎callbacks.fire( arguments )‎ أضيفت في الإصدار: 1.7. arguments أي شيء (وهو نوع افتراضي مُستخدَم في jQuery للإشارة إلى إمكانيّة استخدام أي نوع)، ويُمثِّل الوسيط أو قائمة الوسائط المُمرَّرة إلى قائمة ردود النداء. يُعيد هذا التابع كائن ردود النداء المُرفَق إليه (this). أمثلة استخدام callbacks.fire()‎ لاستدعاء ردود النداء الموجودة في القائمة بحسب الوسائط المُمرَّرة: // ...

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

يُطلق الاستثناء ArgumentError عندما تكون الوسائط (arguments) غير صالحة، ولا يكون هناك صنف Exception أكثر تحديدًا. تفحَّص المثال التالي الذي يشرح حالة تمرير عدد غير مناسب من الوسائط: [1, 2, 3].first(4, 5) سيُطلق عند تنفيذ هذه الشيفرة الاستثناء ArgumentError: ArgumentError: wrong number of arguments (given 2, expected 1) أما المثال التالي، فيشرح حالة تمرير وسيط غير مقبول: [1, 2, 3].first(-4) سيُطلق عند تنفيذ هذه الشيفرة الاستثناء ArgumentError: ArgumentError: negative array size مصادر صفحة ArgumentError في التوثيق الرسمي للغة ruby

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

يعيد التابع format السلسلة النصية المعطاة بعد تنسيقها بشكل معين. البنية العامة format(format_string [, arguments...] )→ string‎ المعاملات format_string‎ السلسلة التي تحدد التنسيق. داخل سلسلة التنسيق format_string، ستُنسخ كل المحارف إلى السلسلة النصية الناتجة باستثناء سلسلة التنسيق (format sequences). صيغة سلسلة محارف التنسيق تأخذ الشكل التالي: %[flags][width][.precision]type‎ تتألف سلسلة محارف التنسيق من علامة النسبة المئوية، متبوعةً بثلاث حقول اختيارية هي: flags و width و precision ثم تنتهي بمحرف يحدد حقل النوع type. يتحكم حقل النوع في كيفية تأويل الوسيط المقابل sprintf، ...

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

يعيد التابع sprintf السلسلة النصية المُمرَّرة إليه بعد تنسيقها بنمط معيَّن. داخل سلسلة التنسيق، تُنسَخ كل محارفها في السلسلة النصية الناتجة باستثناء سلسلة التنسيق (format sequences). البنية العامة sprintf(format_string [, arguments...] ) → string‎ المعاملات format_string‎ السلسلة التي تحدد التنسيق. داخل سلسلة التنسيق format_string، ستُنسخ كل المحارف إلى السلسلة النصية الناتجة باستثناء سلسلة التنسيق (format sequences). صيغة سلسلة محارف التنسيق تأخذ الشكل التالي: %[flags][width][.precision]type‎ تتألف سلسلة محارف التنسيق من علامة النسبة المئوية، متبوعةً بثلاث حقول اختيارية هي: flags و width ...

نمط Strict

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

Array.prototype.map()‎

الدالة Array.prototype.map()‎ تُنشِئ مصفوفةً جديدةً باستخدام القيم المُعادة من استدعاء دالة مُحدَّدة على جميع عناصر المصفوفة الأصلية. var array1 = [1, 4, 9, 16]; // دالة سهمية const map1 = array1.map(x => x * 2); console.log(map1); // [2, 8, 18, 32] البنية العامة var new_array = arr.map(callback[, thisArg]) callback الدالة التي ستختبر كل عنصر من عناصر المصفوفة، وتقبل ثلاثة وسائط. currentValue العنصر الحالي الذي يُعالِج في المصفوفة، وهذه القيمة مطلوبة. index فهرس العنصر الحالي في المصفوفة، وهذه القيمة اختيارية. array المصفوفة التي استدعيت ...

الدوال السهمية في JavaScript

تعبير الدوال السهمية (arrow function expression) له بنيةٌ عامةٌ مختصرةٌ أكثر من تعبير تعريف الدوال، ولا يملك قيم this أو arguments أو super أو new.target خاصة به؛ والدوال السهمية تناسب الدوال التي لا تكون أعضاءً في كائنٍ ما، وتلك التي لن تُستخدَم كدالة بانية. البنية العامة البنية الأساسية (param1, param2, …, paramN) => { statements } (param1, param2, …, paramN) => expression // ستُقدَّر إلى: (param1, param2, …, paramN) => { return expression; } // الأقواس اختيارية عندما يكون هنالك وسيطٌ وحيدٌ فقط (singleParam) ...

الدالة ()‎signature في Sass

تحدِّد الدالة ()signature التوقيع (signature) الصحيح لعدد الوسائط المُمرّرة إلى دالة معيَّنة. في حالة عدم التطابق مع أيٍّ من التواقيع، فسيُعاد التوقيع الأول في رسالة الخطأ. البنية العامة .signature(method_name, arg_arity, kwarg_arity) المعاملات ‎method_name اسم دالة روبي التي ستُستدعى. ‎arg_arity عدد الوسائط غير المسماة (unnamed arguments) التي مُمرِّت إلى الدالة. ‎kwarg_arity عدد الوسائط المسماة (keyword arguments) التي مُمرِّت إلى الدالة. القيم المعادة تعاد خيارات التوقيع للتوقيع المطابق، أو القيمة nil إن لم يُصرّح بأي توقيع لتلك الدالة. انظر أيضًا الدالة declare()‎: تصرّح بتوقيع ...

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

‎.pushStack( elements )‎ القيم المعادة يعيد كائنًا من النوع jQuery. الوصف يضيف هذا التابع مجموعة من عناصر DOM إلى مُكدِّس jQuery. ‎.pushStack( elements )‎ أُضيف مع الإصدار: 1.0. elements مصفوفة من العناصر المراد إضافتها إلى المُكدِّس، وتوضع هنالك في كائن jQuery جديد. ‎.pushStack( elements, name, arguments )‎ أُضيف مع الإصدار: 1.0. elements مصفوفة من العناصر المراد إضافتها إلى المُكدِّس ووضعها هنالك في كائن jQuery جديد. name سلسلة نصية تمثِّل اسم تابع jQuery الذي ولَّد مصفوفة العناصر. arguments مصفوفة تحتوي على ...

التحميل الزائد في PHP

تقديم ميزة التحميل الزائد في PHP القدرة على إنشاء الخصائص والتوابع بصورة ديناميكية، وتعالج هذه العناصر الديناميكية بواسطة التوابع السحرية (magic methods) التي يمكن استخدامها في الصنف لأداء العديد من الوظائف. تنفّذ توابع التحميل الزائد عند التفاعل مع الخصائص أو التوابع غير المصرّح عنها أو غير المرئية ضمن النطاق الحالي. سيستخدم هذا القسم مصطلحي "خاصية يتعذر الوصول إليها" و"تابع يتعذر الوصول إليه" للإشارة إلى حالة التصريح وقابلية الرؤية هذه. يجب تعريف جميع توابع التحميل الزائد كتوابع من نوع public. ملاحظة: ...

التحميل الزائد في PHP

تقديم ميزة التحميل الزائد في PHP القدرة على إنشاء الخصائص والتوابع بصورة ديناميكية، وتعالج هذه العناصر الديناميكية بواسطة التوابع السحرية (magic methods) التي يمكن استخدامها في الصنف لأداء العديد من الوظائف. تنفّذ توابع التحميل الزائد عند التفاعل مع الخصائص أو التوابع غير المصرّح عنها أو غير المرئية ضمن النطاق الحالي. سيستخدم هذا القسم مصطلحي "خاصية يتعذر الوصول إليها" و"تابع يتعذر الوصول إليه" للإشارة إلى حالة التصريح وقابلية الرؤية هذه. يجب تعريف جميع توابع التحميل الزائد كتوابع من نوع public. ملاحظة: ...

Array.from()‎

الدالة Array.from()‎ تُنشِئ مصفوفة جديدة من كائن شبيه بالمصفوفات. البنية العامة Array.from(arrayLike[, mapFn[, thisArg]]) arrayLike الكائن الشبيه بالمصفوفات الذي نريد تحويله إلى مصفوفة. mapFn دالة الربط (map function) التي ستستدعى على كل عنصر من عناصر المصفوفة. thisArg القيمة التي ستستخدم في this عند استدعاء mapFn. القيمة المعادة مصفوفة جديدة. الوصف الدالة Array.from()‎ تسمح بإنشاء مصفوفات من كائنات شبيهة بالمصفوفات (array-like objects)، أي الكائنات التي لها الخاصية length وفيها عناصر مُفهرَسة. تملك الدالة Array.from()‎ وسيطًا اختياريًا باسم mapFn، الذي يسمح بتنفيذ ...

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

(PHP 4, PHP 5, PHP 7) تُعيد الدالّة func_get_arg()‎ وسيطًا من قائمة الوسطاء. الوصف mixed func_get_arg ( int $arg_num ) تحصل الدالّة func_get_arg()‎ على وسيط من قائمة وسطاء الدّالة المعرّفة من قبل المستخدم. من الممكن أن تُستخدم هذه الدّالة بالتزامن مع الدالّة func_get_args()‎ والدالّة func_num_args()‎ للسماح للدالات المعرّفة من قبل المستخدم بقبول قوائم وسطاء متغيرة الطول. المعاملات arg_num فهرس الوسيط المُراد الحصول على قيمته. لاحظ أنَّه تُعَدّ وسائط الدّالة بدءًا من الصفر. القيم المعادة تُعيد الدالّة func_get_arg()‎ الوسيط المحدّد، أو تُعيد ...

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

يعد الصنف Any الجذر الرئيسيّ في الهرميّة العامّة لأيّ صنفٍ مُستخدَمٍ في Kotlin؛ أي أنّ كلَّ صنفٍ سيكون له الصنف الأعلى (superclass)‏ Any. open class Any الدوال البانية <int> يعيد التابع Any()‎ نسخةً من الصنف Any الذي هو الجذر الرئيسيّ في الهرميّة العامّة لأيّ صنفٍ مُستخدَمٍ أثناء البرمجة في Kotlin؛ أي أنّ كلَّ صنفٍ سيكون له الصنف الأعلى (superclass)‏ Any. الدوال equals تتحقق الدالة equals()‎ إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعيت معها. hashCode تعيد الدالة hashCode()‎ قيمة الشيفرة hash code الخاصّة بالكائن الذي ...

Array.prototype.forEach()‎

الدالة Array.prototype.forEach()‎ تستدعي دالةً لكل عنصر موجود في المصفوفة. const arr = ['a', 'b', 'c']; arr.forEach(function(element) { console.log(element); }); // a // b // c البنية العامة arr.forEach(callback[, thisArg]) callback الدالة التي ستُنفَّذ كل عنصر من عناصر المصفوفة، وتقبل ثلاثة وسائط. currentValue العنصر الحالي الذي يُعالِج في المصفوفة، وهذه القيمة مطلوبة. index فهرس العنصر الحالي في المصفوفة، وهذه القيمة اختيارية. array المصفوفة التي استدعيت الدالة forEach عليها، وهذه القيمة اختيارية. thisArg القيمة التي ستُستخدَم في this عند استدعاء الدالة callback، وهي قيمة ...

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