Implementa la operación accumulate, que, dada una colección y una operación que hay que aplicar a cada elemento de la colección, devuelve una nueva colección con el resultado de aplicar esa operación a cada elemento de la colección de entrada.
Dada la colección de números:
Y la operación:
x => x * x)Tu código debería ser capaz de producir la colección de cuadrados:
Consulta el conjunto de pruebas para ver la firma que se espera de la función.
¡No toques esa funcionalidad de collect/map/fmap/como se llame que te ofrece tu biblioteca estándar! Resuelve este ejercicio por tu cuenta con otras herramientas básicas.
En concreto, no puedes usar ninguno de los métodos LINQ integrados.
Como accumulate devuelve un IEnumerable, su ejecución se aplaza hasta que se llame a ToList() sobre él, lo cual se comprueba con el método Accumulate_is_lazy.
Este ejercicio requiere que escribas un método de extensión. Para obtener más información, consulta esta página.
Regístrate en Exercism para aprender y dominar C# con 62 conceptos178 ejercicios y mentoría humana real, todo gratis.