2.6 KiB
2.6 KiB
id | title | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
587d7b8d367417b2b2512b5b | Learn About Functional Programming | 1 | تعرف على برمجة وظيفية |
Description
INPUT -> PROCESS -> OUTPUT
البرمجة الوظيفية INPUT -> PROCESS -> OUTPUT
حول: 1) وظائف معزولة - لا يوجد اعتماد على حالة البرنامج ، والذي يتضمن متغيرات عامة قابلة للتغيير 2) وظائف نقية - نفس المدخلات تعطي دائما نفس الناتج 3) يتم التحكم بعناية بالوظائف ذات الآثار الجانبية المحدودة - أي تغييرات ، أو طفرات ، إلى حالة البرنامج خارج الوظيفة Instructions
prepareTea
و getTea
يتم تعريف وظائف بالفعل بالنسبة لك. استدعاء وظيفة getTea
للحصول على 40 كوب من الشاي للفريق ، وتخزينها في متغير tea4TeamFCC
. Tests
tests:
- text: ''
testString: 'assert(tea4TeamFCC.length === 40, "The <code>tea4TeamFCC</code> variable should hold 40 cups of tea for the team.");'
- text: يجب أن يعقد المتغير <code>tea4TeamFCC</code> أكواب الشاي الأخضر.
testString: 'assert(tea4TeamFCC[0] === "greenTea", "The <code>tea4TeamFCC</code> variable should hold cups of green tea.");'
Challenge Seed
/**
* A long process to prepare tea.
* @return {string} A cup of tea.
**/
const prepareTea = () => 'greenTea';
/**
* Get given number of cups of tea.
* @param {number} numOfCups Number of required cups of tea.
* @return {Array<string>} Given amount of tea cups.
**/
const getTea = (numOfCups) => {
const teaCups = [];
for(let cups = 1; cups <= numOfCups; cups += 1) {
const teaCup = prepareTea();
teaCups.push(teaCup);
}
return teaCups;
};
// Add your code below this line
const tea4TeamFCC = null; // :(
// Add your code above this line
console.log(tea4TeamFCC);
Solution
// solution required