Accumule

Accumule

Facile

Instructions

Implémente l'opération accumulate qui, étant donné une collection et une opération à appliquer à chaque élément de la collection, renvoie une nouvelle collection contenant le résultat de cette opération appliquée à chaque élément de la collection d'entrée.

Étant donné la collection de nombres :

  • 1, 2, 3, 4, 5

Et l'opération :

  • mettre un nombre au carré (x => x * x)

Ton code doit pouvoir produire la collection des carrés :

  • 1, 4, 9, 16, 25

Jette un œil à la suite de tests pour voir la signature de fonction attendue.

Restrictions

Ne touche pas à cette fonctionnalité collect/map/fmap/machin-chose fournie par ta bibliothèque standard ! Résous celui-ci toi-même en utilisant d'autres outils de base à la place.

Astuces

Pour cet exercice, les fonctionnalités F# suivantes te seront utiles :

  • Récursion terminale La récursion terminale permet d'éviter les débordements de pile sur de grandes entrées. Aucun test ne vérifie explicitement ce point, mais l'utiliser conduit à une solution plus performante. Une autre bonne ressource sur la récursion terminale est cet article de blog.
  • Inférence de types Le compilateur F# peut inférer les types automatiquement, ce qui signifie que tu n'as souvent besoin d'ajouter aucun type. Pour en savoir plus sur son fonctionnement et ses avantages, consulte cette page.
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
F# Exercism

Prêt à commencer Accumule ?

Inscris-toi sur Exercism pour apprendre et maîtriser F# avec 18 concepts148 exercices, et un vrai mentorat humain, le tout gratuitement.