Implemente a operação accumulate, que, dada uma coleção e uma operação a ser aplicada em cada elemento da coleção, retorna uma nova coleção contendo o resultado da aplicação dessa operação a cada elemento da coleção de entrada.
Dada a coleção de números:
E a operação:
x => x * x)Seu código deve ser capaz de produzir a coleção de quadrados:
Dê uma olhada no conjunto de testes para ver a assinatura de função esperada.
Não use essa funcionalidade de collect/map/fmap/seja lá o que for que a sua biblioteca padrão oferece! Resolva este exercício por conta própria usando outras ferramentas básicas.
Para ser mais específico, você não pode usar nenhum dos métodos LINQ internos.
Como accumulate retorna um IEnumerable, sua execução é adiada até que ToList() seja chamado nele, o que é testado com o método Accumulate_is_lazy.
Este exercício exige que você escreva um método de extensão. Para mais informações, veja esta página.
Crie sua conta no Exercism para aprender e dominar C# com 62 conceitos178 exercícios e mentoria humana de verdade, tudo de graça.