نتائج البحث

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

إعادة التوجيه والحلقات في 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 الكتلة البرمجية المراد استدعاؤها وتنفيذها. القيم المعادة ...

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