Por falta de um prego de ferradura perdeu-se um reino, ou assim diz o ditado.
Dada uma lista de valores de entrada, gera o provérbio correspondente.
Por exemplo, dada a lista ["nail", "shoe", "horse", "rider", "message", "battle", "kingdom"], vais produzir o texto completo desta rima proverbial:
For want of a nail the shoe was lost.
For want of a shoe the horse was lost.
For want of a horse the rider was lost.
For want of a rider the message was lost.
For want of a message the battle was lost.
For want of a battle the kingdom was lost.
And all for the want of a nail.
Repara que a lista de valores de entrada pode variar; a tua solução deve ser capaz de lidar com listas de comprimento e conteúdo arbitrários. Nenhuma linha do texto produzido deve ser uma string fixa e inalterável; todas devem variar de acordo com os valores de entrada fornecidos.
Se o último elemento da lista for um object em vez de uma string, esse elemento contém um qualificador que modifica a linha final do provérbio.
proverb('nail', 'shoe', { qualifier: 'horseshoe' });
// => For want of a nail the shoe was lost.
// And all for the want of a horseshoe nail.
Inscreve-te no Exercism para aprenderes e dominares JavaScript com 37 conceitos159 exercícios, e mentoria humana real, tudo grátis.