Rutas
/
F#
F#
/
Ejercicios
/
Acumular
Acumular

Acumular

Fácil

Instrucciones

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:

  • 1, 2, 3, 4, 5

Y la operación:

  • elevar un número al cuadrado (x => x * x)

Tu código debería ser capaz de producir la colección de cuadrados:

  • 1, 4, 9, 16, 25

Consulta el conjunto de pruebas para ver la firma que se espera de la función.

Restricciones

¡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.

Consejos

Para este ejercicio, la siguiente característica de F# resulta útil:

  • Recursión de cola Evita los desbordamientos de pila con entradas grandes usando la recursión de cola. Aunque no hay casos de prueba que verifiquen esto explícitamente, usar la recursión de cola conduce a una solución más eficiente. Otro buen recurso sobre la recursión de cola es esta entrada de blog.
  • Inferencia de tipos El compilador de F# puede inferir tipos automáticamente, lo que significa que a menudo no tienes que añadir ningún tipo en absoluto. Para obtener más información sobre cómo funciona y sus ventajas, consulta esta página.
Editar en GitHub El enlace se abre en una ventana o pestaña nueva
F# Exercism

¿Listo para empezar Acumular?

Regístrate en Exercism para aprender y dominar F# con 18 conceptos148 ejercicios y mentoría humana real, todo gratis.