freeCodeCamp/guide/arabic/certifications/javascript-algorithms-and-d.../functional-programming/understand-functional-progr.../index.md

51 lines
2.8 KiB
Markdown
Raw Normal View History

---
title: Understand Functional Programming Terminology
localeTitle: فهم البرمجة الوظيفية المصطلحات
---
## فهم البرمجة الوظيفية المصطلحات
### طريقة
كما هو الحال في التحدي الأخير ، يجب عليك استدعاء طريقة `getTea` وتخزينها في متغير. فقط هذه المرة ، لديك متغيرين لتخزين مجموعتين `getTea()` من البيانات. سترى أن الدالة `getTea()` هي نفسها كما كانت من قبل ، فقط الآن تأخذ في معلمتين منفصلتين. المعلمة الأولى هي دالة ، لذا سنحتاج إلى المرور في `prepareGreenTea()` أو الوظيفة `prepareBlackTea()` ، متبوعة بالمعلمة الثانية `numOfCups` التي يمكن `numOfCups` صحيح.
### حل
في هذا التمرين ، نقوم بتعيين نتيجة دالة أعلى من الترتيب للمتغيرات. للقيام بذلك ، فإننا نطلق على الدالة وظيفة رد اتصال كمعامل.
## ملحوظة:
`javascript const basketOne = makeBasket(addFruit, 10)`
\## حل:
\`\` \`جافا سكريبت
/ \*\*
* عملية طويلة لتحضير الشاي الأخضر.
* return {string} كوب من الشاي الأخضر. \*\* / const preparGreenTea = () => 'greenTea'؛
/ \*\*
* الحصول على عدد معين من أكواب الشاي.
* param {function (): string} preparTea نوع وظيفة تحضير الشاي.
* param {number} numOfCups عدد أكواب الشاي المطلوبة.
* return {Array } كمية معينة من أكواب الشاي. \*\* / const getTea = (prepareTea، numOfCups) => { const teaCups = \[\]؛
لـ (دع الكؤوس = 1 ؛ أكواب <= numOfCups ؛ أكواب + = 1) { const teaCup = prepareTea ()؛ teaCups.push (فنجان)؛ }
عودة teaCups. }؛
// أضف رمزك أدناه هذا السطر const tea4GreenTeamFCC = getTea (prepareGreenTea، 27)؛ // :) const tea4BlackTeamFCC = getTea (prepareBlackTea، 13)؛ // :) // أضف رمزك فوق هذا الخط
console.log ( tea4GreenTeamFCC، tea4BlackTeamFCC )؛
\`\` \`
## شرح الكود:
في الحل أعلاه مررنا في الوظائف `prepareGreenTea()` و `prepareBlackTea()` كمعلمات أو وظائف رد اتصال لوظائف `getTea()` التي تم تعيينها لمتغيرينا `tea4BlackTeamFCC` و `tea4GreenTeamFCC` . بهذه الطريقة لا تتغير المتغيرات العالمية ، ولدينا خيار لإضافة عدد غير محدود من الخيارات المختلفة من أساليب `prepareTea()` لأنه يتم تمرير وظيفة رد الاتصال إلى وظيفة ترتيب أعلى من `getTea()` .