Implementa la operación accumulate, que, dada una colección y una operación que se debe 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 poder producir la colección de cuadrados:
Revisa la suite de pruebas para ver la firma de función esperada.
¡No toques esa funcionalidad de collect/map/fmap/whatchamacallit que te ofrece tu biblioteca estándar! Resuelve este ejercicio por tu cuenta usando otras herramientas básicas.
Para ser más específicos, no puedes usar ninguno de los métodos de LINQ integrados.
Como accumulate devuelve un IEnumerable, su ejecución se aplaza hasta que se llama a ToList(), lo cual se prueba con el método Accumulate_is_lazy.
Este ejercicio requiere que escribas un método de extensión. Para 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.