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.

Pour aller plus loin

Il est courant d'appeler #to_enum lorsque l'on définit des méthodes pour un Enumerable générique, dans le cas où aucun bloc n'est passé.

Voici un test supplémentaire que tu pourrais ajouter :

def test_accumulate_when_block_is_deferred
  skip
  accumulate_enumerator = [1, 2, 3].accumulate
  accumulated_result = accumulate_enumerator.map do |number|
    number * number
  end
  assert_equal [1, 4, 9], accumulated_result
end
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Ruby Exercism

Prêt à commencer Accumule ?

Inscris-toi sur Exercism pour apprendre et maîtriser Ruby avec 21 concepts121 exercices, et un vrai mentorat humain, le tout gratuitement.