الانتقال إلى المحتوى الرئيسي

كيفية استخدام وظائف مجهولة في فب: دليل مفصل

بي إتش بي هي لغة برمجة قوية تستخدم على نطاق واسع لتطوير تطبيقات الويب. وهو يدعم العديد من الميزات ، بما في ذلك الوظائف المجهولة التي تسمح لك بإنشاء وظائف دون تحديد اسم.

وظائف مجهولة في فب يمكن أن تكون مفيدة في كثير من الحالات. إنها طريقة ملائمة لتحديد الوظائف واستخدامها داخل وظائف أو طرق أخرى. يمكن استخدامها أيضا لإنشاء عمليات إغلاق-وظائف يمكن أن تشير إلى المتغيرات في سياق خارجي.

لإنشاء وظائف مجهولة في فب ، يتم استخدام الكلمة الرئيسية وظيفة ، تليها المعلمات وظيفة بين قوسين والجسم وظيفة محاطة بين قوسين. ومع ذلك ، على عكس الوظائف المسماة ، لا تحتوي الوظائف المجهولة على اسم ويمكن تعيينها لمتغير أو استخدامها مباشرة في وظائف أخرى.

  1. greeting تحية ("العالم") ؛ / / مخرجات "مرحبا ، العالم"
  2. في هذا المثال ، يحتوي متغير الترحيب greeting على دالة مجهولة تحيي الاسم الذي تم تمريره. ثم نسمي هذه الوظيفة المجهولة ، ونمررها سلسلة "العالم". ستكون النتيجة عرض "مرحبا بالعالم".
  3. ما هي وظائف مجهولة في بي إتش بي?
  4. مزايا استخدام وظائف مجهولة
  5. كيف أعلن واستدعاء وظيفة مجهولة في بي إتش بي?
  6. تمرير وظيفة مجهولة كوسيطة إلى وظيفة أخرى
  7. استخدام وظائف مجهولة في الإغلاق
  8. أمثلة على استخدام وظائف مجهولة في فب
  9. نصائح عملية حول استخدام وظائف مجهولة في فب

سؤال وجواب

ما هي وظيفة مجهولة في بي إتش بي?

عندما يكون من المفيد استخدام وظائف مجهولة في بي إتش بي?

ما هي وظائف مجهولة في بي إتش بي?

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

يتم الإعلان عن وظائف مجهولة في فب باستخدام الكلمة الرئيسية وظيفة ويمكن تعيينها إلى متغير أو استخدامها مباشرة في التعليمات البرمجية. على سبيل المثال:

- تحية = وظيفة (- اسم) {

صدى " مرحبا ، name اسم!";

};

greet تحية ("العالم") ؛ / / المخرجات " مرحبا ، العالم!"

في المثال أعلاه ، تأخذ الدالة المجهولة وسيطة اسم name وتخرج تحية باستخدام الاسم الذي تم تمريره. يمكن استخدام هذه الوظيفة في أي مكان في الكود حيث يتم الإعلان عنها ، أو تمريرها إلى وظائف أخرى كوسيطة.

يمكن أيضا استخدام الوظائف المجهولة جنبا إلى جنب مع الوظائف ذات الترتيب الأعلى مثل خريطة المصفوفة أو مرشح المصفوفة لإجراء عمليات على عناصر المصفوفة. على سبيل المثال:

$الأرقام = [1, 2, 3, 4, 5];

- حتى الأرقام = المصفوف_مرشح (numbers أرقام ، دالة (number رقم) {

العودة number عدد ٪ 2 = = 0;

});

الطباعة (حتى الأرقام) ؛ / / المخرجات [2 ، 4]

في المثال أعلاه ، يتم تمرير دالة مجهولة إلى دالة المصطف كوسيطة. فإنه يتحقق إذا كان الرقم هو حتى ويعود صحيح إذا كان الأمر كذلك. يستخدم أراي_فيلتر هذه الوظيفة لتصفية عناصر الصفيف وإرجاع فقط تلك التي عادت الدالة المجهولة صحيح.

  • وظائف مجهولة يمكن أن تكون مفيدة جدا في فب عند العمل مع مجموعات البيانات ، والاستدعاءات ، والحلقات ، والعديد من الحالات الأخرى حيث تحتاج إلى تحديد وظيفة ولكن لا تحتاج إلى اسم منفصل.
  • مزايا استخدام وظائف مجهولة
  • الوظائف المجهولة هي وظائف ليس لها اسم ويمكن استخدامها كمعلمات في وظائف أخرى أو تعيينها للمتغيرات. فيما يلي بعض مزايا استخدام وظائف مجهولة في فب:
  • المرونة: تتيح لك الوظائف المجهولة تحديد وظيفة واستخدامها عند الحاجة إليها ، دون الحاجة إلى الإعلان عنها في مكان منفصل في الكود.
  • الإيجاز: يمكن أن تكون الوظائف المجهولة مضغوطة للغاية وتشغل مساحة أقل في الكود. هذا مفيد بشكل خاص عندما تحتاج إلى إجراء عملية صغيرة أو رد اتصال.

الإغلاق: تدعم الوظائف المجهولة عمليات الإغلاق ، مما يعني أنه يمكنها تلقي وتعديل قيم المتغيرات من النطاق المرفق. يمكن أن يكون هذا مفيدا لحفظ الحالة بين استدعاءات الوظائف.

الإعدادات الافتراضية: تتيح لك الوظائف المجهولة تحديد القيم الافتراضية لمعلماتك. هذا يمكن أن يكون مفيدا إذا كنت تريد أن يكون المرونة في استخدام وظيفة وليس دائما تمرير جميع الحجج.

نمطية: تتيح لك الوظائف المجهولة إنشاء كود معياري وتقسيم المهام إلى وظائف أصغر وإعادة استخدامها في سياقات مختلفة.

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

كيف أعلن واستدعاء وظيفة مجهولة في بي إتش بي?

الوظائف المجهولة ، والمعروفة أيضا باسم الوظائف أو الإغلاق غير المسماة ، هي وظائف ليس لها اسم ويمكن الإعلان عنها مباشرة داخل وظائف أو تعبيرات أخرى. وهي مفيدة بشكل خاص في الحالات التي تحتاج فيها إلى تحديد وظيفة لأداء مجموعة صغيرة من العمليات في سياق معين.

إعلان وظيفة مجهولة في فب يحدث باستخدام الكلمة الرئيسية" وظيفة " ويتم تشغيلها عن طريق تعيين هذه الوظيفة إلى متغير. مثال على إعلان وظيفة مجهولة:

unction وظيفتي = وظيفة () {

صدى " مرحبا العالم!";

};

في هذا المثال ، لا تحتوي الوظيفة المجهولة على معلمات وتخرج السلسلة " مرحبا ، العالم!".

لاستدعاء وظيفة مجهولة ، تحتاج فقط إلى استخدام المتغير الذي تم تعيين هذه الوظيفة له وإضافة أقواس إليه. مثال على استدعاء وظيفة مجهولة:

unction وظيفتي();

وهذا الرمز استدعاء وظيفة مجهولة ، وإخراج خط " مرحبا ، العالم!".

يمكن للوظائف المجهولة أيضا قبول المعلمات ، تماما مثل الوظائف العادية. مثال على وظيفة مجهولة مع المعلمات:

- سايهيلو = وظيفة (- اسم) {

صدى "مرحبا". الاسم . "!";

};

say سايهيلو ("العالم");

في هذا المثال ، تأخذ الدالة المجهولة " سايهيلو "معلمة واحدة — الاسم ، وتخرج السلسلة" مرحبا " بهذا الاسم.

من المهم ملاحظة أن الإعلان واستدعاء وظيفة مجهولة يجب أن يحدث في نفس النطاق. إذا قمت بتعريف وظيفة مجهولة داخل وظيفة أخرى ، فأنت بحاجة إلى الاتصال بها داخل نفس الوظيفة. إذا قمت بتعريف وظيفة مجهولة في النطاق العالمي ، فيمكنك الاتصال بها في أي مكان في التعليمات البرمجية الخاصة بك.

وظائف مجهولة مفيدة جدا في كثير من الحالات ، على سبيل المثال ، لتمرير وظيفة كوسيطة إلى وظيفة أخرى (كما هو الحال في مجموعة رد الاتصال أو المدمج في وظيفة فب). يمكن استخدامها أيضا كإغلاق عندما يكون من المهم الحفاظ على سياق البيئة. استخدام وظائف مجهولة يجعل التعليمات البرمجية أكثر مرونة وقابلة للتطوير.

تمرير وظيفة مجهولة كوسيطة إلى وظيفة أخرى

في فب ، يمكن تمرير وظائف مجهولة كوسائط إلى وظائف أخرى. يتيح لك ذلك إنشاء رمز مرن وقوي ، حيث يمكن للوظائف قبول واستدعاء وظائف أخرى ، بما في ذلك الوظائف المجهولة.

لتمرير وظيفة مجهولة كوسيطة ، يجب عليك استخدام اسم الوظيفة (التي تقبل وظيفة مجهولة كوسيطة) ثم تمرير الوظيفة المجهولة كمتغير أو مباشرة كوسيطة.

مثال:

وظيفة سوميفونكتيون (back رد) {

// استدعاء وظيفة مجهولة

back رد();

}

- تحية = وظيفة () {

صدى " مرحبا ، العالم!";

};

// تمرير وظيفة مجهولة كحجة

إلى بعض الوظائف (greet تحية);

في المثال أعلاه ، ونحن إنشاء وظيفة 'سوميفونكتيون' التي تأخذ وسيطة 'call رد'. تحية '، الذي يخرج سلسلة " مرحبا ، العالم!". نحن تمرير وظيفة مجهول `greet تحية 'كحجة إلى وظيفة 'سوميفونكتيون'. داخل "سوميفونكتيون` ، ونحن ندعو وظيفة مجهولة مرت باستخدام" call رد () ، ويخرج سلسلة " مرحبا ، العالم!".

وبالتالي ، يمكننا بسهولة تمرير واستدعاء وظائف مجهولة كوسائط لوظائف أخرى ، مما يمنحنا مزيدا من المرونة عند كتابة التعليمات البرمجية.

استخدام وظائف مجهولة في الإغلاق

في فب ، وظائف مجهول ، المعروف أيضا باسم وظائف لامدا ، تسمح لك لإنشاء واستخدام وظائف دون إعلان اسم. وهي مفيدة عندما تحتاج إلى تحديد وظيفة داخل وظيفة أخرى أو تمريرها كوسيطة إلى وظيفة أخرى.

غالبا ما تستخدم الوظائف المجهولة في عمليات الإغلاق ، وهي نوع خاص من الوظائف. يتيح لك الإغلاق تذكر قيم المتغيرات من النطاق المرفق ، حتى إذا لم يعد هذا النطاق موجودا. يمكن أن يكون هذا مفيدا عندما تحتاج إلى تمرير وظيفة وحفظ حالة المتغيرات لاستخدامها لاحقا.

فيما يلي مثال على استخدام وظيفة مجهولة في الإغلاق:

المضاعف = 3;

closure إغلاق = وظيفة (value القيمة) استخدام (multiplier المضاعف) {

العائد value القيمة * multiplier المضاعف;

};

الصدى-الإغلاق (5) ؛ / / النواتج 15

في هذا المثال ، أنشأنا دالة مجهولة تأخذ وسيطة واحدة وتضربها بقيمة متغير مضاعف multiplier. ثم نسمي الإغلاق بتمرير الحجة 5 إليه. ستكون النتيجة 15.

  1. زر.أدفنتليستينر ('انقر' ، وظيفة () {