Implement the accumulate
operation, which, given a collection and an operation to perform on each element of the collection, returns a new collection containing the result of applying that operation to each element of the input collection.
Given the collection of numbers:
And the operation:
x => x * x
)Your code should be able to produce the collection of squares:
Check out the test suite to see the expected function signature.
Keep your hands off that collect/map/fmap/whatchamacallit functionality provided by your standard library! Solve this one yourself using other basic tools instead.
The tests for this exercise will cause compile time errors if your function signature does not fit them, even when they're not run. You may want to comment some tests out and generalize your solution piece by piece.
Sign up to Exercism to learn and master Rust with 98 exercises, and real human mentoring, all for free.