Files

2.2 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7b8d367417b2b2512b5b Aprender sobre programação funcional 1 301233 learn-about-functional-programming

--description--

Programação funcional é um estilo de programação em que as soluções são funções simples, isoladas e livres de efeitos colaterais fora do escopo da função: INPUT -> PROCESS -> OUTPUT

Quando falamos de programação funcional, pensamos em:

  1. Funções isoladas: nenhuma função depende do estado do programa, incluindo variáveis globais, que podem sofrer mudanças

  2. Funções puras: a mesma entrada sempre devolve a mesma saída

  3. Funções com efeitos colaterais limitados: qualquer alteração ou mutação do estado do programa fora da função é cuidadosamente controlada

--instructions--

Os membros do freeCodeCamp adoram chá.

As funções prepareTea e getTea já estão definidas para você no editor de texto. Chame a função getTea para adquirir 40 xícaras de chá para o time e as armazene na variável tea4TeamFCC.

--hints--

A variável tea4TeamFCC deve conter 40 xícaras de chá para o time.

assert(tea4TeamFCC.length === 40);

A variável tea4TeamFCC deve conter xícaras de chá verde.

assert(tea4TeamFCC[0] === 'greenTea');

--seed--

--seed-contents--

// Function that returns a string representing a cup of green tea
const prepareTea = () => 'greenTea';

/*
Given a function (representing the tea type) and number of cups needed, the
following function returns an array of strings (each representing a cup of
a specific type of tea).
*/
const getTea = (numOfCups) => {
  const teaCups = [];

  for(let cups = 1; cups <= numOfCups; cups += 1) {
    const teaCup = prepareTea();
    teaCups.push(teaCup);
  }
  return teaCups;
};

// Only change code below this line
const tea4TeamFCC = null;
// Only change code above this line

--solutions--

const prepareTea = () => 'greenTea';

const getTea = (numOfCups) => {
  const teaCups = [];

  for(let cups = 1; cups <= numOfCups; cups += 1) {
    const teaCup = prepareTea();
    teaCups.push(teaCup);
  }

  return teaCups;
};

const tea4TeamFCC = getTea(40);