نتائج البحث

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

إعادة التوجيه والحلقات في 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، وهي قيمة ...

Array.prototype.every()‎

الدالة Array.prototype.every()‎ تختبر إذا كانت جميع عناصر المصفوفة تحقق الاختبار المُحدَّد من قِبل الدالة المعنية. function isBelowThreshold(currentValue) { return currentValue < 40; } var array1 = [1, 30, 39, 29, 10, 13]; console.log(array1.every(isBelowThreshold)); // true البنية العامة arr.every(callback[, thisArg]) callback الدالة التي ستختبر كل عنصر من عناصر المصفوفة، وتقبل ثلاثة وسائط. currentValue العنصر الحالي الذي يُعالِج في المصفوفة، وهذه القيمة مطلوبة. index فهرس العنصر الحالي في المصفوفة، وهذه القيمة اختيارية. array المصفوفة التي استدعيت الدالة every عليها، وهذه القيمة اختيارية. thisArg القيمة ...

Array.prototype.indexOf()‎

الدالة Array.prototype.indexOf()‎ تعيد أوّل فهرس للعنصر الموجود في الدالة والذي يساوي القيمة المُحدَّدة، أو القيمة -1 إن لم يُعثَر على مُطابَقة. var a = [2, 9, 9]; a.indexOf(2); // 0 a.indexOf(7); // -1 if (a.indexOf(7) === -1) { // العنصر غير موجود في المصفوفة } البنية العامة arr.indexOf(searchElement[, fromIndex]) searchElement العنصر الذي نريد البحث عنه. fromIndex الفهرس الذي نريد البدء منه في البحث عن searchElement، والقيم السالبة ستؤدي إلى بدء البحث من الفهرس array.length + fromIndex تصاعديًا. القيمة الافتراضية هي 0. ...

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

يُعيد التابع curry كتلة proc مقسَّمة (curried). إذا أُعطي الوسيط arity الاختياري، فسيُحدِّد التابع عدد الوسائط آنذاك. تستقبل كتلة proc المقسَّمة بعض الوسائط. إذا زُوِّدت بعددٍ كافٍ من الوسائط، فستُمرِّر الوسائط المُزوَّدة إلى كتلة proc الأصلية وتُعيد النتيجة. خلاف ذلك، تُعيد كتلة proc مقسَّمةً أخرى لتأخذ باقي الوسائط. البنية العامة curry → a_proc curry(arity) → a_proc المعاملات arity وسيط اختياري يُعطى إذا أُريد من التابع تحديد عدد الوسائط. القيم المعادة تُعاد كتلة proc مقسَّمة، يُعاد عدد الوسائط إذا أعطي معامل arity ...

تعابير lambda في بايثون

يمكن إنشاء دوال لا تحمل أسماء باستخدام الكلمة المفتاحية lambda، وتأخذ هذه الدوال الصيغة التالية: lambda arguments: expression تسلك هذه الصيغة المختصرة سلوك دالة معرفة بالطريقة التالية: def <lambda>(arguments): return expression على سبيل المثال، تعيد الدالة التالية مجموع الوسيطين الخاصين بها: lambda a, b: a+b يمكن استخدام دوال lambda عند الحاجة إلى كائنات الدالة (function objects)، وتأخذ هذه الدوال تعبيرًا واحدًا فقط، وهي تعدّ صيغةً مختصرةً للطريقة الاعتيادية في تعريف الدوال. كما هو الحال مع تعريفات الدوال المتداخلة، يمكن لدوال ...

تعابير lambda في بايثون

يمكن إنشاء دوال لا تحمل أسماء باستخدام الكلمة المفتاحية lambda، وتأخذ هذه الدوال الصيغة التالية: lambda arguments: expression تسلك هذه الصيغة المختصرة سلوك دالة معرفة بالطريقة التالية: def <lambda>(arguments): return expression على سبيل المثال، تعيد الدالة التالية مجموع الوسيطين الخاصين بها: lambda a, b: a+b يمكن استخدام دوال lambda عند الحاجة إلى كائنات الدالة (function objects)، وتأخذ هذه الدوال تعبيرًا واحدًا فقط، وهي تعدّ صيغةً مختصرةً للطريقة الاعتيادية في تعريف الدوال. كما هو الحال مع تعريفات الدوال المتداخلة، يمكن لدوال ...

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

تستدعي الدالة also()‎ بُنية (block) الدالة المُحدَّدة مع جعل قيمة this كوسيط (argument) وتُعيد قيمة this. البنية العامة inline fun <T> T.also(block: (T) -> Unit): T يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions)). المعاملات block الكتلة البرمجية المراد استدعاؤها وتنفيذها. القيم المعادة تعيد الكائن الذي استدعيت عبره بعد التعديل عليه. أمثلة استخدام الدالة also()‎ مع الكائنات لتعديل خاصياتها (properties) تستدعي الشيفرة الآتية الدالة also()‎ عبر السلسلة النصية string ...

معاملات الدوال في PHP

يمكن تمرير المعلومات إلى الدوالّ بواسطة قائمة المعاملات argument list، وهي قائمة من التعابير المفصولة بالعلامة (,)، وتُعالج هذه المعاملات من اليسار إلى اليمين. تدعم اللغة تمرير المعاملات بالقيمة (by value، والطريقة الافتراضية) وبالمرجعية وتدعم كذلك تعيين القيمة الافتراضية للمعاملات، إضافة إلى دعم قوائم المعاملات متغيّرة الأطوال. المثال 1: تمرير المصفوفات إلى الدوال <?php function takes_array($input) { echo "$input[0] + $input[1] = ", $input[0]+$input[1]; } ?> تمرير المعاملات بالمرجعية تمرّر معاملات الدوال بصورة افتراضية عن طريق القيمة (بمعنى أنّه لو تغيّرت ...

معاملات الدوال في PHP

يمكن تمرير المعلومات إلى الدوالّ بواسطة قائمة المعاملات argument list، وهي قائمة من التعابير المفصولة بالعلامة (,)، وتُعالج هذه المعاملات من اليسار إلى اليمين. تدعم اللغة تمرير المعاملات بالقيمة (by value، والطريقة الافتراضية) وبالمرجعية وتدعم كذلك تعيين القيمة الافتراضية للمعاملات، إضافة إلى دعم قوائم المعاملات متغيّرة الأطوال. المثال 1: تمرير المصفوفات إلى الدوال <?php function takes_array($input) { echo "$input[0] + $input[1] = ", $input[0]+$input[1]; } ?> تمرير المعاملات بالمرجعية تمرّر معاملات الدوال بصورة افتراضية عن طريق القيمة (بمعنى أنّه لو تغيّرت ...

معاملات الدوال في PHP

يمكن تمرير المعلومات إلى الدوالّ بواسطة قائمة المعاملات argument list، وهي قائمة من التعابير المفصولة بالعلامة (,)، وتُعالج هذه المعاملات من اليسار إلى اليمين. تدعم اللغة تمرير المعاملات بالقيمة (by value، والطريقة الافتراضية) وبالمرجعية وتدعم كذلك تعيين القيمة الافتراضية للمعاملات، إضافة إلى دعم قوائم المعاملات متغيّرة الأطوال. المثال 1: تمرير المصفوفات إلى الدوال <?php function takes_array($input) { echo "$input[0] + $input[1] = ", $input[0]+$input[1]; } ?> تمرير المعاملات بالمرجعية تمرّر معاملات الدوال بصورة افتراضية عن طريق القيمة (بمعنى أنّه لو تغيّرت ...

for...of في JavaScript

التعبير البرمجي for...of يمر على الكائنات التي يمكن الدوران على عناصرها (iterable objects) بما في ذلك الكائن Array و Map و Set و String و TypedArray و Arguments، وتنفيذ تعابير برمجية معيّنة على قيمة كل خاصية من خاصيات تلك الكائنات. البنية العامة for (variable of iterable) { statement } variable ستُنسَد قيمة الخاصية مختلفة لهذا المتغير في كل دورة. iterable خاصيات الكائن القابلة للدوران (iterable properties). الوصف الفرق بين حلقتَي التكرار for...of و for...in التعبيران البرمجيان for...in و for...of يُستخدَمان للدوران ...

JavaScript/Topics/Functions

هذا القسم فيه ما يتعلق بميزات دوال JavaScript التي تستفيد منها في تطوير التطبيقات. الدوال في JavaScript الكائن arguments الدوال السهمية الوسائط الافتراضية معامل البقية

الدالة functools.partial()‎ في بايثون

تعيد الدّالة functools.partial()‎ كائن partial يتصرّف كالدّالة المُعطاة عند استدعائها بما مُرّر من مُعاملات (arguments) ومُعاملات كلمات مفتاحيّة (keyword arguments، أي المُعاملات التي تُمرّر مع ذكر أسمائها إضافةً إلى قيمها). إن استُدعيَ الكائن بمُعاملات إضافيّة، فستُضاف إلى مُعاملات الدّالة، و إن استُدعيَ الكائن بمُعاملات كلمات مفتاحيّة إضافيّة، فستُوسّع وتُعوّض معاملات الكلمات المفتاحيّة السّابقة. تُستعمل لإنشاء دالّة جزئيّة من دالّة بتمرير قيم افتراضيّة ثابتة لها. البنية العامة functools.partial(func, *args, **keywords) المعاملات func الدّالة المرغوب إنشاء دالّة جزئيّة منها. args المُعاملات التي ...

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

تستدعي الدالة apply()‎ بُنية (block) الدالة المُحدَّدة وذلك بجعل قيمة this كمستقبِلٍ (receiver) لها وتُعيد قيمة this. البنية العامة inline fun <T> T.apply(block: T.() -> Unit): T يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions). المعاملات block الكتلة البرمجية المراد استدعاؤها وتنفيذها. القيم المعادة يعاد الكائن المعطى بعد تعديله. أمثلة تستدعي الشيفرة الآتية الدالة apply()‎ عبر الكائن person المُنشَأ من الصنف Person الذي يحتوي على بيانات أوليّة لكلٍ من ...

Math.hypot()‎

الدالة Math.hypot()‎ تعيد الجذر التربيعي لمجموع مربعات الوسائط المُمرَّرة إلى الدالة. أي: Math.hypot(v1, v2, ... , vn) = sqrt(v1^2 + v2^2 + ... + vn^2) البنية العامة Math.hypot([value1[, value2[, ...]]]) value1, value2, ...‎ الأعداد التي ستُجرى عليها العملية. القيمة المعادة الجذر التربيعي لمجموع مربعات الوسائط المُمرَّرة إلى الدالة، وإذا لم لكن بالإمكان تحول وسيط واحد على الأقل إلى رقم فستُعاد القيمة NaN. الوصف تساعد هذه الدالة في الحسابات الرياضية، مثل إيجاد طول وتر مثلث (فبدلًا من استخدام الدالة Math.sqrt(v1*v1 + ...

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

معاملات الدالة الافتراضية (default function parameters) تسمح بتهيئة معاملات الدالة مع قيم افتراضية إن لم تُمرَّر لها قيمة أثناء استدعاء الدالة أو كانت القيمة المُمرَّرة هي undefined. البنية العامة function [name]([param1[ = defaultValue1 ][, ..., paramN[ = defaultValueN ]]]) { statements } الوصف تكون قيمة المعاملات الافتراضية في JavaScript هي undefined، لكن في بعض الحالات يكون من المفيد ضبط قيمة تلك المعاملات إلى قيمةٍ أخرى، وهنا تلعب المعاملات الافتراضية دورها. في الماضي كانت الاستراتيجية العامة المتبعة لضبط قيم افتراضية ...

Array.prototype.join()‎

الدالة Array.prototype.join()‎ تضيف جميع عناصر المصفوفة إلى بعضها بعضًا لتُشكِّل سلسلةً نصيةً، وتُعيد هذه السلسلة النصية. إذا كان عنصر المصفوفة هو null أو undefined، فسيحوّل إلى سلسلة نصية فارغة. var elements = ['Fire', 'Wind', 'Rain']; console.log(elements.join()); // Fire,Wind,Rain console.log(elements.join('')); // FireWindRain console.log(elements.join('-')); // Fire-Wind-Rain البنية العامة arr.join([separator]) separator تحديد سلسلة نصية لتفصل بين عناصر المصفوفة، وسيحوّل الفاصل إلى سلسلة نصية إن كان ذلك ضروريًا. إذا لم تُحدَّد قيمة هذا الوسيط، فسيُفصَل بين السلاسل النصية بفاصلة عادية ,، وإذا كان ...

Array.prototype.slice()‎

الدالة Array.prototype.slice()‎ تنسخ جزءًا من المصفوفة نسخًا سطحيًا (shallow copy) إلى مصفوفة جديدًا بدءًا من الفهرس begin إلى end (دون تضمين العنصر الموجود في الفهرس end)؛ لاحظ أنَّ المصفوفة الأصلية لن تُغيّر. var animals = ['ant', 'bison', 'camel', 'duck', 'elephant']; console.log(animals.slice(2)); // ["camel", "duck", "elephant"] console.log(animals.slice(2, 4)); // ["camel", "duck"] console.log(animals.slice(1, 5)); // ["bison", "camel", "duck", "elephant"] البنية العامة arr.slice([begin[, end]]) begin فهرس بداية الاستخراج، ويبدأ العد من الفهرس 0. القيمة السالبة تُشير إلى بدء الاستخراج من نهاية المصفوفة، فالدالة slice(-2)‎ ستستخرج آخر ...

الصنف Math::DomainError في روبي

يُطلَق الخطأ DomainError عند محاولة تقييم دالة رياضية خارج مجال تعريفها. على سبيل المثال، بما أنَّ القيم التي تعيدها الدالة cos تكون في المجال ‏‎-1...1، فإنّ دالتها العكسية acos مُعرفة على ذلك المجال: Math.acos(42) سيعطي عند تنفيذه الناتج التالي: Math::DomainError: Numerical argument is out of domain - "acos" انظر أيضا الصنف Math. مصادر قسم الصنف DomainError في الصنف Math‎ في توثيق روبي الرسمي.

الصنف Math::DomainError في روبي

يُطلَق الخطأ DomainError عند محاولة تقييم دالة رياضية خارج مجال تعريفها. على سبيل المثال، بما أنَّ القيم التي تعيدها الدالة cos تكون في المجال ‏‎-1...1، فإنّ دالتها العكسية acos مُعرفة على ذلك المجال: Math.acos(42) سيعطي عند تنفيذه الناتج التالي: Math::DomainError: Numerical argument is out of domain - "acos" انظر أيضا الصنف Math. مصادر قسم الصنف DomainError في الصنف Math‎ في توثيق روبي الرسمي.

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

تستدعي الدالة let()‎ بنية (block) الدالة المُحدَّدة وذلك بجعل قيمة this كوسيط (argument) لها وتعيد ناتج التنفيذ. عادة ما تُُستخدم let()‎لمنع الوصول إلى  المتغيرات في مجال الأسماء (namespace) إذ إنّ كل المتغيرات المعرَّفة داخلها لن تكون متاحةً خارج تلك البنية (block). البنية العامة inline fun <T, R> T.let(block: (T) -> R): R يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions). المعاملات block الكتلة البرمجية المراد استدعاؤها وتنفيذها. القيم المعادة ...

Document.cookie

تُستعمل هذه الخاصيّة للحصول على ملفّات الارتباط (cookies) المُرتبطة بالمُستند الحالي وضبطها، للتعامل مع ملفّات الارتباط ببساطة أكثر، انظر إطار العمل البسيط هذا. البنية العامة الحصول على جميع ملفّات تعريف الارتباط المتاحة allCookies = document.cookie; المُتغيّر allCookies أعلاه عبارة عن سلسلة نصيّة تحتوي على قائمة بجميع ملفات الارتباط مفصولة بفاصلة منقوطة (;)، وهي على شكل مفتاح=قيمة. ضبط ملفّ ارتباط جديد document.cookie = newCookie; في الشيفرة أعلاه، المُتغيّر newCookie عبارة عن سلسلة نصيّة على شكل مفتاح=قيمة. لاحظ أنّك تستطيع أن تضبط أو تُحدّث ...

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

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

إعادة القيم في PHP

يمكن إعادة القيم باستخدام عبارة return الاختيارية، ويمكن إعادة أيّ نوع من أنواع القيم ومن ضمنها المصفوفات والكائنات. يؤدي استخدام هذه العبارة إلى إيقاف تنفيذ الدالة فورًا والعودة إلى السطر الذي استدعيت منه تلك الدالة. راجع return للمزيد من المعلومات. ملاحظة: إن لم تُستخدم العبارة return فإنّ الدالة تعيد القيمة NULL. استخدام return المثال 1: استخدام عبارة return <?php function square($num) { return $num * $num; } echo square(4); // outputs '16'. ?> لا يمكن للدالة أن تعيد قيمًا متعدّدة، ...

إعادة القيم في PHP

يمكن إعادة القيم باستخدام عبارة return الاختيارية، ويمكن إعادة أيّ نوع من أنواع القيم ومن ضمنها المصفوفات والكائنات. يؤدي استخدام هذه العبارة إلى إيقاف تنفيذ الدالة فورًا والعودة إلى السطر الذي استدعيت منه تلك الدالة. راجع return للمزيد من المعلومات. ملاحظة: إن لم تُستخدم العبارة return فإنّ الدالة تعيد القيمة NULL. استخدام return المثال 1: استخدام عبارة return <?php function square($num) { return $num * $num; } echo square(4); // outputs '16'. ?> لا يمكن للدالة أن تعيد قيمًا متعدّدة، ...

معاملات الدوال

يمكن تعريف الدوال مع عدد غير محدّد من المعاملات، وهناك ثلاث صيغ للمعاملات يمكن استخدامها معًا في نفس الوقت. المعاملات ذات القيم الافتراضية يمكن تحديد قيمة افتراضية للمعامل عند تعريفه، وبهذا يمكن استدعاء الدالة مع عدد أقلّ من المعاملات المعرّفة، فعلى سبيل المثال: def ask_ok(prompt, retries=4, reminder='Please try again!'): while True: ok = input(prompt) if ok in ('y', 'ye', 'yes'): ...

Function.prototype.bind()‎

الدالة Function.prototype.bind()‎ تُنشِئ دالةً جديدةً التي عند استدعائها ستُضبَط قيمة المعامل this إلى القيمة المعطية، وستُوفَّر إليها قائمة المعاملات التي تلي قيمة المعامل this. البنية العامة fun.bind(thisArg[, arg1[, arg2[, ...]]]) thisArg وسيطٌ يُمثِّل قيمة المعامل this التي ستُستعمل في الدالة func عند استدعائها، لاحظ أنَّ JavaScript ستتجاهل هذه القيمة إذا استدعيت الدالة كدالة بانية باستخدام المعامل new. arg1, arg2, ...‎ الوسائط التي ستُرفَق مع الوسائط المُمرَّرة إلى الدالة عند استدعائها. القيمة المعادة نسخة من الدالة المعطية مع قيمة this المُخصَّصة ...

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

تعيد الدالة asDynamic()‎ قيمة الكائن الذي استدعيت عبره على شكل قيمةٍ من النوع الديناميكي (dynamic type)، الذي يُسمَح بإسناده إلى أي متغيّر أو تمريره كمتغيّر وسيط (argument) أيًّا كان نوعه. بيئة التشغيل المطلوبة:  JS البنية العامة inline fun Any?.asDynamic(): dynamic يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions). القيم المعادة تعاد قيمة من النوع الديناميكي (dynamic type). انظر أيضًا الدوال المباشرة (inline functions) في لغة Kotlin. مصادر صفحة الدالة ...

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

تعيد الدالة asDynamic()‎ قيمة الكائن الذي استدعيت عبره على شكل قيمةٍ من النوع الديناميكي (dynamic type)، الذي يُسمَح بإسناده إلى أي متغيّر أو تمريره كمتغيّر وسيط (argument) أيًّا كان نوعه. بيئة التشغيل المطلوبة:  JS البنية العامة inline fun Any?.asDynamic(): dynamic يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions). القيم المعادة تعاد قيمة من النوع الديناميكي (dynamic type). انظر أيضًا الدوال المباشرة (inline functions) في لغة Kotlin. مصادر صفحة الدالة ...

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

يستدعي التابع step الكتلة المعطاة مع تمرير سلسلة من الأعداد إليها بدءًا من العدد الذي استُدعي معه وحتى قيمة محدَّدة مع الزيادة أو الطرح بقدار خطوة ثابتة معطاة. البنية العامة step(by: step, to: limit) {|i| block }→ self step(by: step, to: limit) → an_enumerator step(limit=nil, step=1) {|i| block } → self step(limit=nil, step=1)→ an_enumerator‎ تنتهي الحلقة التكرارية عندما تكون القيمة المراد تمريرها إلى الكتلة أكبر من قيمة المعامل limit إن كان step موجبًا، أو أصغر من القيمة limit إن كان ...

yield*‎ في JavaScript

التعبير yield*‎ يُستخدَم لتفويض التنفيذ إلى دالة مولِّدة أخرى أو كائن iterable. البنية العامة yield* [[expression]]; expression التعبير الذي سيُعيد كائن iterable. الوصف سيؤدي التعبير yield*‎ إلى المرور على عناصر الكائن ويعطي كل قيمة أعادها هذا الكائن. قيمة التعبير yield*‎ نفسه هي القيمة المُعادة من الكائن iterable عند إغلاقه (أي عندما تكون قيمة الخاصية done هي true). أمثلة تفويض التنفيذ إلى دالة مولِّدة أخرى لاحظ أنَّ القيمة التي تعطيها (yield) الدالة g1()‎ ستُعاد عند استدعاء الدالة next()‎ مثل القيم ...

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

تستدعي الدالة ()call دالة محدَّدة بشكل ديناميكي سواء كانت هذه الدالة مُعرّفة من قبل المستخدم، أو مُضمّنةً في لغة Sass، أو دالة CSS. ستمرِّر هذه الدالة كل الوسائط -بما فيها الوسائط المُسمّاة (keyword arguments)- إلى الدالة المراد استدعاؤها. البنية العامة call($function, $args...) المعاملات ‎$function الدالة التي ترغب في استدعائها. ‎$args الوسائط التي ستُمرّر إلى الدالة ‎$function. أمثلة يبيّن المثال الآتي استخدام الدالة call()‎ لضبط قيمة اللون (color): .selector { color: call(rgb, 10, 100, 255); // #0a64ff } سيُصرّف المثال السابق ...

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

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

arguments.length

الخاصية arguments.length تحتوي على عدد الوسائط التي مُرِّرَت إلى الدالة. الوصف الخاصية arguments.length تمنحنا القدرة على معرفة عدد الوسائط التي مُرِّرَت إلى الدالة، وهذا العدد قد يكون أقل أو أكثر من عدد المعاملات التي عُرِّفت الدالة معها (انظر إلى صفحة الخاصية Function.length). أمثلة استخدام arguments.length سنُعرِّف في المثال الآتي دالةً تجمع عددين أو أكثر من بعضهما بعضًا: function adder(base /*, n2, ... */) { base = Number(base); for (var i = 1; i < arguments.length; i++) { ...

التابع Struct.new‎ في روبي

ينشئ التابع new صنفًا فرعيًّا جديدًا أو نسخةً جديدةً من الصنف Struct. البنية العامة new([class_name] [, member_name]+)→ StructClass new([class_name] [, member_name]+, keyword_init: true) → StructClass new([class_name] [, member_name]+) {|StructClass| block } → StructClass new(value, ...) → object StructClass[value, ...]→ object‎ يُستخدم الشكلان الأولان من التابع new لإنشاء صنف فرعي جديد من Struct يحمل الاسم class_name، والذي يمكن أن يحتوي قيمةً مقابل كل وسيط member_name. يمكن استخدام هذا الصنف الفرعي لإنشاء نسخ من البنية مثل أي صنف آخر. إذا لم يُعطَ الوسيط class_name، فسيُنشِئ التابع ...

الدوال (Functions) في لغة Kotlin

التصريح عن الدوال (Function Declarations) يُصرَّح عن الدوال في لغة Kotlin باستخدام الكلمة المفتاحيّة fun كما يلي: fun double(x: Int): Int { return 2 * x } استخدام الدوال (Function Usage) يكون استدعاء الدوال كما في أيّ لغة برمجةٍ أخرى بالشكل: val result = double(2) أمّا استدعاء الدوال من الأصناف فيعتمد على المعامل . كما في الشيفرة: Sample().foo() // إنشاء كائنٍ من الصنف واستدعاء الدالة عبره المعاملات (Parameters) تُعرَّف المعاملات بالصيغة المُعتمدَة في لغة Pascal وهي name: type ، ...

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

يربط التابع bind التابعَ الحرَّ الذي استُدعي معه بالكائن الذي مُرِّر إليه. إذا كان Klass هو الصنف الذي أُنشئ منه التابع الحر، فيجب أن يساوي التعبير obj.kind_of?(Klass)‎ القيمة true. البنية العامة bind(obj) → method‎ المعاملات obj‎ كائن يراد ربطه بالتابع الحر. القيمة المعادة يعاد التابع الناتج عن ربط التابع الحر بالكائن obj. أمثلة مثال على استخدام التابع bind‎: class A def test puts "In test, class = #{self.class}" end end class B < A end class C < B end um ...

الكلمة المحجوزة super في JavaScript

الكلمة المحجوزة super تُستخدَم للوصول إلى الكائنات في الكائن الأب واستدعائها. يمكن استخدام التعبيرين super.prop و super[expr]‎ في الأصناف والكائنات. البنية العامة super([arguments]); // استدعاء الدالة البانية للكائن الأب super.functionOnParent([arguments]); الوصف عند استخدام الكلمة المحجوزة super في الدالة البانية فيجب أن تُستخدَم قبل أيّ استخدام للكلمة المحجوزة this، ويمكن أن تُستخدَم الكلمة المحجوزة super لاستدعاء الدوال التابعة للكائن الأب أيضًا. أمثلة استخدام super في الأصناف عند استدعاء الدوال العادية (أي أنَّ الدالة ليست دالةً بانيةً)، فستكون قيمة new.target هي undefined، وهذا ...

Function.prototype.apply()‎

الدالة Function.prototype.apply()‎ تستدعي دالةً وتضبط قيمة this فيها إلى القيمة المعطية، وستُوفَّر الوسائط التي ستُمرَّر إليها كمصفوفة (أو كائن شبيه بالمصفوفات). ملاحظة: صحيحٌ أنَّ البنية العامة لهذه الدالة تكاد تماثل بينة الدالة call()‎، لكن الفرق الرئيسي بينهما هو أنَّ الدالة call()‎ تقبل قائمةً بالوسائط التي تُمرَّر إلى الدالة، بينما apply()‎ تقبل مصفوفةً واحدةً تحتوي على الوسائط. البنية العامة func.apply([thisArg, argsArray]) thisArg وسيطٌ اختياري، وهو يُمثِّل قيمة المعامل this التي ستُستعمل في الدالة func، لاحظ أنَّ قيمة this المُمرَّرة لا تعني ...

Array.prototype.fill()‎

الدالة Array.prototype.fill()‎ تملأ جميع عناصر المصفوفة من فهرس البداية حتى فهرس النهاية بقيمة ثابتة. var numbers = [1, 2, 3] numbers.fill(1); // [1, 1, 1] البنية العامة arr.fill(value[, start[, end]]) value القيمة التي نريد ملء المصفوفة بها. start فهرس البداية، وقيمته الافتراضية هي 0. end فهرس النهاية، وقيمته الافتراضية هي this.length. القيمة المعادة المصفوفة المُعدَّلة. الوصف الدالة fill تستطيع أن تقبل ثلاثة وسائط هي value و start و end، الوسيطان start و end هما وسيطان اختياريان يأخذان القيم الافتراضية 0 و length ...

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

تنشئ الدالة to()‎ عنصرًا من النوع Pair مكونًا من الكائن الذي استُدعي معه والمعامل الذي مُرّر إليه، أي العنصر that. البنية العامة infix fun <A, B> A.to(that: B): Pair<A, B> يُلاحَظ وجود الكلمة المفتاحية infix للدلالة على أن هذه الدالة يمكن استدعاؤها بنمط التدوين الداخليّ (infix notation)؛ أي من خلال حذف المعامل . والأقواس () المُستخدَمَين في الاستدعاء عادةً، وللمزيد من التفاصيل راجع توثيق التدوين الداخلي للدوال (infix functions). المعاملات that الكائن المراد استعماله مع الكائن المعطى في إنشاء كائن من ...

الأمر Artisan console) Artisan) في Laravel

مقدمة Artisan هي واجهة الأوامر المُرفقة ب Laravel. وهي تُوفّر عددًا من الأوامر المفيدة والتي ستساعدك في بناء التطبيق. لإظهار جميع الأوامر التي يوفّرها Artisan، يمكنك استعمال الأمر list php artisan list يحتوي كل أمر على صفحة مساعدة "help" تعرّف وتوضّح الأمر كما تُقدّم قائمة المعاملات والخيارات لكل أمر. يُستعمل الأمر مسبوقًا بالكلمة help لإظهار صفحة المساعدة: php artisan help migrate Laravel REPL تأتي كل تطبيقات Laravel مُرفَقَةً ب Tinker، وهي REPL مشغّلة بواسطة حُزمة PsySH. يسمح Tinker بالتفاعل مع ...

التابع Object.clone في روبي

يُنتج التابع clone نسخةً سطحيةً (shallow copy) من الكائن المعطى. تُنسَخ متغيرات النسخة (instance variables) ولكن لا تُنسَخ الكائنات التي تشير إليها. يَنسَخ التابع clone حالة الكائن المجمدة (إلا إذا كان وسيط الكلمة المفتاحية freez: مساويًا للقيمة falsefalse) والتالفة (tainted). انظر أيضًا النقاش في صفحة التابع Object.dup. قد يمتلك هذا التابع سلوكًا  محدّدًا بالصنف (class-specific). إذا كان كذلك، سيُوثَّق السلوك تحت التابع ‎.initialize_copy من نفس الصنف. البنية العامة clone(freeze: true) → an_object المعاملات freeze وسيطُ مسمى (keyword argument) يأخذ القيمة ...

التابع IO.foreach‎ في روبي

ينفذ التابع foreach الكتلة المعطاة على كل سطر في منفذ مجرى د/خ المسمى. إن كان آخر معامل مُمرَّر إلى التابع هو جدول Hash، فسيتم فتح الوسيط المسمى (keyword argument). في حال لم تُعطَ أية كتلة، فسيُعاد كائن من الصنف Enumerator بدلًا من ذلك. البنية العامة foreach(name, sep=$/ [, getline_args, open_args]) {|line| block } → nil foreach(name, limit [, getline_args, open_args]) {|line| block }→ nil foreach(name, sep, limit [, getline_args, open_args]) {|line| block } → nil foreach(...) → an_enumerator‎ المعاملات name‎ اسم الملف ...

Array.of()‎

الدالة Array.of()‎ تُنشِئ مصفوفةً جديدةً تحتوي على القيم المُمرَّرة إليها، بغض النظر عن عدد أو نوع تلك الوسائط. الفرق بين الدالة Array.of()‎ والدالة البانية Array هو طريقة التعامل مع الوسائط الرقمية، فالدالة Array.of(7)‎ ستُنشِئ مصفوفةً لها عنصرٌ وحيدٌ وهو 7، بينما الدالة البانية Array(7)‎ ستُنشِئ مصفوفةً فارغةً طولها (length) هو 7 (لاحظ أنَّ هذا يعني أنَّ للمصفوفة سبع خانات فارغة، لكنها لا تحتوي على القيمة undefined). Array.of(7); // [7] Array.of(1, 2, 3); // [1, ...

Function.caller

الخاصية Function.caller تُعيد الدالة التي استدعت الدالة التي تُنفَّذ حاليًا. لا يجوز استخدام هذه الخاصية في نمط strict. الوصف إذا لم تُستدعَ الدالة f ضمن دالة أخرى (أي أنها استدعيت في أعلى مستوى top level)، فقيمة الخاصية f.caller هي null. هذه الخاصيةُ هي بديلٌ عن الخاصية المحذوفة arguments.caller التابعة للكائن arguments. لاحظ أنَّه في حالة الاستدعاء التعاودي (recursion)، فلا يمكننا إعادة بناء مكدس الاستدعاءات (call stack) باستخدام هذه الخاصية. فلتكن لدينا الشيفرة: function f(n) { g(n - 1); } function g(n) ...

التابع IO.readlines‎ في روبي

يقرأ التابع readlines ملفًا بأكمله سطرًا سطرًا ثم يعيد تلك الأسطر في مصفوفة. إن كان الوسيط الأخير عبارة عن جدول Hash، فسيمثِّل الوسيط المسمى (keyword argument) المراد فتحه. البنية العامة readlines(name, sep=$/ [, getline_args, open_args]) → array readlines(name, limit [, getline_args, open_args])→ array readlines(name, sep, limit [, getline_args, open_args]) → array‎ المعاملات name‎ اسم الملف المراد قراءة أسطره ووضعها في مصفوفة. sep‎ الفاصل الذي يفصل بين الأسطر. القيمة الافتراضية هي: /$. getline_args‎ كائن من النوع Hash يقبل المفتاح الوحيد التالي: ‎:chomp - عندما ...

المخاليط (Mixins) في Sass

تتيحُ المخاليط تعريف الأنماط التي يمكن إعادة استخدامها في ملف الأنماط دون اللجوء إلى الأصناف غير الدلاليَّة مثلِ ‎.float-left. يمكن أن تحوي المخاليط أيضًا جميع قواعد CSS وأيَّ شيء آخر يُسمح باستعماله في ملفات Sass. يمكن أيضًا أن يُمرَّر لها وسائط (arguments) وبذلك يمكن إنتاج مجموعة واسعة من الأنماط بعدد قليل من المخاليط. تعريف المخلوط (Defining a Mixin):‏ ‎@mixin تعرَّف المخاليط (Mixins) بوساطة التعليمة ‎@mixin متبوعةً باسم المخلوط، ويمكن اختياريًا إضافة وسائط له، ثمّ كتلة من الأنماط تتضمّن محتويات المخلوط. ...

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

تُصرّح بتوقيع (signature) خاص بلغة Sass لأجل دوال روبي. يتضمن التوقيع أسماءَ الوسائط، وهل ستأخذ الدالة عددًا متغيرًا من الوسائط، وما إن كانت الدالة ستقبل مجموعة عشوائيةً من الوسائط المُسمّاة (keyword arguments). التصريح بالتوقيع ليس ضروريًا ولكن لن تدعم الدالةُ بدونه الوسائط المُسمّاة. يمكن أن يكون لدالةٍ واحدةٍ أكثر من توقيع واحدٍ طالما أنّ كلَّ توقيع يأخذ عددًا مختلفًا من الوسائط. من الممكن أيضًا التصريح بعدة تواقيع تقبل جميعُها نفس العدد من الوسائط، ولكن لن يُستخدم في تلك الحالة سوى ...

التابع Object.garbage_collect في روبي

يبدأ التابع garbage_collect عملية جمع المهملات (garbage collection)، إلّا إذا عُطِّلت يدويًا. يُعرَّف هذا التابع عبر وسائط الكلمات المفتاحية (keyword arguments) المُعيَّنة افتراضيًا للقيمة true: def GC.start(full_mark: true, immediate_sweep: true); end يمكنك تعيين القيمة false للمعامل full_mark لتنفيذ الوحدة GC الثانوية. ويمكنك تعيين القيمة false للمعامل immediate_sweep لتأجيل الكنس (sweeping، استخدام الكنس الكسول [lazy sweep]). ملاحظة: تعتمد وسائط الكلمات المفتاحية على التطبيق والاصدار المُستخدم من روبي. لا يُضمن أن تبقى متوافقةً مستقبلًا، وقد يتم تجاهلها إذا كان التطبيق الأساسي لا يدعمها. ...

الدالة min()‎ في بايثون

تعيد الدّالة min()‎ أصغر عنصر من عناصر كائن قابل للتّكرار أو أصغر مُعامل من مُعاملين أو أكثر. البنية العامة min(iterable, *[, key, default]) # كائن قابل للتّكرار كمُعامل أوّل min(arg1, arg2, *args[, key]) # مُعاملات منفردة المعاملات iterable الكائن القابل للتّكرار المرغوب الحصول على أضغر عناصره. key مُعامل اختياريّ يُمرّر بكلمته المفتاحيّة (keyword-only argument) يُمثّل دالّة تقبل مُعاملًا واحدًا لتُستخدم في ترتيب العناصر المُعطاة مثل الدّالة ‎list‎.‎sort‎(‎)‎. default مُعامل اختياريّ يُمرّر بكلمته المفتاحيّة ويُمثّل القيمة التي ستُعاد افتراضيًّا إن كان الكائن ...

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

deferred.always( alwaysCallbacks [, alwaysCallbacks ] )‎ القيمة المعادة تُعيد كائنًا من النوع Deferred. الوصف يُضيف هذا التابع دوال معالجة تُستدعَى عند قبول الكائن المؤجل Deferred أو رفضه. deferred.always( alwaysCallbacks [, alwaysCallbacks ] )‎ أُضيف مع الإصدار: 1.6. alwaysCallbacks هو دالة أو مصفوفة من الدوال، تُستدعى عند قبول الكائن المؤجل Deferred أو رفضه، وهو على الشكل Function()‎‎. alwaysCallbacks هو دالة إضافية إختيارية أو مصفوفة من الدوال، تُستدعى عند قبول الكائن المؤجل Deferred أو رفضه، وهو على الشكل Function()‎‎. يمكن أن يكون ...

الدوال في PHP

الدوال المعرّفة من طرف المستخدم تتبع أسماء الدوالّ نفس القواعد المتبّعة في اللغة للتسمية. يبدأ الاسم الصحيح للدالة بحرف أو شرطة سفلية، متبوعًا بأيّ عددٍ من الحروف أو الأرقام أو الشرطات السفلية. ويمكن التعبير عن هذه الصيغة باستخدام التعابير النمطية بالصورة التالية: ‎[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*‎. معاملات الدوال يمكن تمرير المعلومات إلى الدوالّ بواسطة قائمة المعاملات argument list، وهي قائمة من التعابير المفصولة بالعلامة (,)، وتُعالج هذه المعاملات من اليسار إلى اليمين. إعادة القيم يمكن إعادة القيم باستخدام عبارة return الاختيارية، ويمكن إعادة أيّ نوع من ...

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

deferred.always( alwaysCallbacks [, alwaysCallbacks ] )‎ القيمة المعادة تُعيد كائنًا من النوع Deferred. الوصف يُضيف هذا التابع دوال معالجة تُستدعَى عند قبول الكائن المؤجل Deferred أو رفضه. deferred.always( alwaysCallbacks [, alwaysCallbacks ] )‎ أُضيف مع الإصدار: 1.6. alwaysCallbacks هو دالة أو مصفوفة من الدوال، تُستدعى عند قبول الكائن المؤجل Deferred أو رفضه، وهو على الشكل Function()‎‎. alwaysCallbacks هو دالة إضافية إختيارية أو مصفوفة من الدوال، تُستدعى عند قبول الكائن المؤجل Deferred أو رفضه، وهو على الشكل Function()‎‎. يمكن أن يكون ...

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

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

الدالة max()‎ في بايثون

تعيد الدّالة max()‎ أكبر عنصر من عناصر كائن قابل للتّكرار أو أكبر مُعامل من مُعاملين أو أكثر. البنية العامة max(iterable, *[, key, default]) # كائن قابل للتّكرار كمُعامل أوّل max(arg1, arg2, *args[, key]) # مُعاملات منفردة المعاملات iterable الكائن القابل للتّكرار المرغوب الحصول على أكبر عناصره. key مُعامل اختياريّ يُمرّر بكلمته المفتاحيّة (keyword-only argument) يُمثّل دالّة تقبل مُعاملًا واحدًا لتُستخدم في ترتيب العناصر المُعطاة مثل الدّالة ‎list‎.‎sort‎(‎)‎. default مُعامل اختياريّ يُمرّر بكلمته المفتاحيّة ويُمثّل القيمة التي ستُعاد افتراضيًّا إن كان الكائن ...

المعامل new في JavaScript

المعامل new يُنشِئ نسخةً من كائن مُعرَّف من المستخدم أو نسخةً من أحد أنواع الكائنات المُضمّنة في لغة JavaScript والتي تملك دالةً بانيةً. البنية العامة new constructor[([arguments])] constructor صنف (class) أو دالة (function) التي تُحدِّد نوع نسخة الكائن (object instance). arguments قائمة بالقيم التي ستُمرَّر إلى الدالة البانية constructor. الوصف إنشاء كائن مُعرَّف من المستخدم يتطلب خطوتين: تعريف نوع الكائن بكتابة دالة، إنشاء نسخة من الكائن عبر المعامل new. لتعريف نوع الكائن، فيجب إنشاء دالة تُحدِّد اسمه وخاصياته، ويمكن أن ...

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

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

String.prototype.toLocaleUpperCase()‎

الدالة String.prototype.toLocaleUpperCase()‎ تُعيد السلسلة النصية الأصلية لكن مع تحويل محارفها إلى الحالة الكبيرة، وذلك اعتمادًا على إعدادات المحليّة (locale). البنية العامة str.toLocaleUpperCase() str.toLocaleUpperCase(locale) str.toLocaleUpperCase([locale, locale, ...]) locale الوسيط locale يُشير إلى المحليّة (locale) التي يجب أن تُستخدَم لتحويل السلسلة النصية إلى الحالة الكبيرة. إذا أعطيت عدّة محليّات عبر مصفوفة Array فستُستخدَم أفضل محليّة متوافرة (best available locale)، والمحليّة الافتراضية هي المحليّة الحالية في نظام التشغيل. القيمة المعادة سلسلة نصية جديدة تُمثِّل السلسلة النصية الأصلية لكن مع تحويل محارفها إلى الحالة الكبيرة، ...

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

يستدعي التابع yield الكتلة المرتبطة بالمتغير الذي استعمل معه مُعيِّنًا معاملات الكتلة إلى القيم المعطاة ضمنه باستخدام شيءٍ مشابهٍ لدلالات استدعاء التابع. يُعيد المعامل قيمة آخر تعبيرٍ قُيِّم في الكتلة. a_proc = Proc.new {|scalar, *values| values.map {|value| value*scalar } } a_proc.call(9, 1, 2, 3) #=> [9, 18, 27] a_proc[9, 1, 2, 3] #=> [9, 18, 27] a_proc.(9, 1, 2, 3) #=> [9, 18, 27] a_proc.yield(9, 1, ...

String.prototype.toLocaleLowerCase()‎

الدالة String.prototype.toLocaleLowerCase()‎ تُعيد السلسلة النصية الأصلية لكن مع تحويل محارفها إلى الحالة الصغيرة، وذلك اعتمادًا على إعدادات المحليّة (locale). البنية العامة str.toLocaleLowerCase() str.toLocaleLowerCase(locale) str.toLocaleLowerCase([locale, locale, ...]) locale الوسيط locale يُشير إلى المحليّة (locale) التي يجب أن تُستخدَم لتحويل السلسلة النصية إلى الحالة الصغيرة. إذا أعطيت عدّة محليّات عبر مصفوفة Array فستُستخدَم أفضل محليّة متوافرة (best available locale)، والمحليّة الافتراضية هي المحليّة الحالية في نظام التشغيل. القيمة المعادة سلسلة نصية جديدة تُمثِّل السلسلة النصية الأصلية لكن مع تحويل محارفها إلى الحالة الصغيرة، ...

المعامل [] في الصنف Proc.call في روبي

يستدعي المعامل [] الكتلة المرتبطة بالمتغير الذي استعمل معه مُعيِّنًا معاملات الكتلة إلى القيم المعطاة ضمنه باستخدام شيءٍ مشابهٍ لدلالات استدعاء التابع. يُعيد المعامل قيمة آخر تعبيرٍ قُيِّم في الكتلة. a_proc = Proc.new {|scalar, *values| values.map {|value| value*scalar } } a_proc.call(9, 1, 2, 3) #=> [9, 18, 27] a_proc[9, 1, 2, 3] #=> [9, 18, 27] a_proc.(9, 1, 2, 3) #=> [9, 18, 27] a_proc.yield(9, 1, ...

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

يستدعي التابع call الكتلة المرتبطة بالمتغير الذي استعمل معه مُعيِّنًا معاملات الكتلة إلى القيم المعطاة ضمنه باستخدام شيءٍ مشابهٍ لدلالات استدعاء التابع. يُعيد المعامل قيمة آخر تعبيرٍ قُيِّم في الكتلة. a_proc = Proc.new {|scalar, *values| values.map {|value| value*scalar } } a_proc.call(9, 1, 2, 3) #=> [9, 18, 27] a_proc[9, 1, 2, 3] #=> [9, 18, 27] a_proc.(9, 1, 2, 3) #=> [9, 18, 27] a_proc.yield(9, 1, ...

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

يعيد المعامل arity مؤشرًا لعدد الوسائط المقبولة من قبل تابع. البنية العامة arity → integer‎ القيمة المعادة يعاد عدد صحيحً غير سالب للتوابع التي تأخذ عددًا محددًا من الوسائط. بالنسبة لتوابع روبي التي تأخذ عددًا متغيرًا من الوسائط، يًعاد العدد ‎-n-1، حيث n هو عدد الوسائط المطلوبة. الوسائط المسماة (Keyword arguments) ستُعيد وسيطًا إضافيًا واحدًا، وسيكون ذلك الوسيط إلزاميًّا إن كان أيٌّ من الوسائط المسماة كذلك. بالنسبة للتوابع المكتوبة بلغة C، سيُعاد العدد ‎-1 إن كان استدعاء تلك التوابع يأخذ ...

تعريف الدوال في بايثون

تُعرَّف الدوال باستخدام الكلمة المفتاحية def يتبعها اسم الدالة ثم قائمة بالمعاملات محاطة بالأقواس. أما الكتلة الرئيسية للدالة فتبدأ في السطر التالي لسطر التعريف، ويجب أن تزاح بمقدار إزاحة واحدة. مثال >>> def fib(n): # دالة لإنشاء متسلسلة فابيوناتشي ... """Print a Fibonacci series up to n.""" ... a, b = 0, 1 ... while a < n: ... print(a, end=' ') ... ...

Object.create()‎

الدالة Object.create()‎ تُنشِئ كائنًا جديدًا له كائن prototype مُحدَّد، وتكون خاصياته معطية. البنية العامة Object.create(proto[, propertiesObject]) proto الكائن الذي يجب أن يُسنَد إلى خاصية prototype للكائن المُنشأ. propertiesObject هذا الوسيط اختياريٌ، وإذا حُدِّدَت قيمته ولم تكن undefined، فهو كائنٌ فيه خاصياتٌ تابعةٌ له وقابلةٌ للإحصاء تُحدِّد واصفات الخاصيات (property descriptors) التي ستُضاف إلى الكائن المُنشَأ والتي سترتبط بأسماء الخاصيات. وهذه الخاصيات تشبه الوسيط الثاني المُمرَّر إلى الدالة Object.defineProperties()‎ (ارجع إلى تلك الصفحة إن وجدتَ الكلام السابق غامضًا). القيمة المعادة كائن ...

تعريف الدوال في بايثون

تُعرَّف الدوال باستخدام الكلمة المفتاحية def يتبعها اسم الدالة ثم قائمة بالمعاملات محاطة بالأقواس. أما الكتلة الرئيسية للدالة فتبدأ في السطر التالي لسطر التعريف، ويجب أن تزاح بمقدار إزاحة واحدة. مثال >>> def fib(n): # دالة لإنشاء متسلسلة فابيوناتشي ... """Print a Fibonacci series up to n.""" ... a, b = 0, 1 ... while a < n: ... print(a, end=' ') ... ...

تعريف الدوال في بايثون

تُعرَّف الدوال باستخدام الكلمة المفتاحية def يتبعها اسم الدالة ثم قائمة بالمعاملات محاطة بالأقواس. أما الكتلة الرئيسية للدالة فتبدأ في السطر التالي لسطر التعريف، ويجب أن تزاح بمقدار إزاحة واحدة. مثال >>> def fib(n): # دالة لإنشاء متسلسلة فابيوناتشي ... """Print a Fibonacci series up to n.""" ... a, b = 0, 1 ... while a < n: ... print(a, end=' ') ... ...

arguments.callee

الخاصية arguments.callee تشير إلى الدالة التي تُنفَّذ حاليًا. الوصف الخاصية callee التابعة للكائن arguments تُشير إلى الدالة التي تُنفَّذ حاليًا داخل جسم تلك الدالة، وهذا مفيدٌ في حال كان اسم الدالة ليس معروفًا، مثل تعابير تعريف الدوال دون اسم (يُطلَق عليها أيضًا اسم «الدوال المجهولة» [anonymous functions]). تحذير: الإصدار الخامس من ECMAScript (أي ES5) يمنع استخدام الخاصية arguments.callee في نمط strict، تفادى استخدام هذه الخاصية بإعطاء اسم لتعابير تعريف الدوال أو التصريح عن دالة باستخدام تعابير التصريح عن الدوال. أمثلة ...

Function.prototype

الخاصية Function.prototype تُعيد كائن prototype للكائن Function. الوصف الكائنات المُنشَأة من الدالة البانية Function ترث من Function.prototype؛ لاحظ أنَّه من غير الممكن تغيير قيمة الخاصية Function.prototype.  الخاصيات Function.arguments مصفوفة تحتوي على الوسائط المُمرَّرة إلى الدالة، وهذه الخاصية أصبحت مهملة (deprecated)، ويُفضَّل استخدام الكائن arguments المتاح ضمن الدوال بدلًا منها. Function.arity تحديد عدد الوسائط التي تتوقعها الدالة. هذه الدالة محذوفة وغير مدعومة في جميع المتصفحات، ويجب استخدام الخاصية length بدلًا منها. Function.caller تحديد اسم الدالة التي استدعت الدالة التي تُنفَّذ حاليًا. ...

الدوال المتغيّرة في PHP

تدعم PHP مفهوم الدوال المتغيّرة والذي يعني أنّه في حال إلحاق قوسين إلى نهاية اسم أحد المتغيّرات، فإنّ اللغة ستبحث عن دالة تحمل الاسم ذاته، وستحاول تنفيذها. يمكن الاستفادة من هذه الميزة في الاستدعاءات الخلفية callbacks، وجداول الدوال وما إلى ذلك. لا تعمل الدوال المتغيرة مع البنى التابعة للغة مثل echo و print و unset()‎ و isset()‎ و empty()‎ و include و require وما شابهها، ولاستخدام أيّ من هذه الدوال كدوال متغيرة يمكن الاستعانة بدوالّ تغليف. المثال 1: مثال على ...

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