Реалізуйте операцію accumulate, яка, отримавши колекцію та операцію, яку слід виконати над кожним елементом колекції, повертає нову колекцію, що містить результат застосування цієї операції до кожного елемента вхідної колекції.
Маємо колекцію чисел:
І операцію:
x => x * x)Код має вміти утворити колекцію квадратів:
Перегляньте набір тестів, щоб побачити очікувану сигнатуру функції.
Не чіпайте ту функціональність collect/map/fmap/як-його-там, яку надає стандартна бібліотека! Розвʼяжіть цю вправу самостійно, використавши натомість інші базові інструменти.
Тести для цієї вправи спричинять помилки часу компіляції, якщо сигнатура функції їм не відповідає, навіть якщо їх не запускати. Можна закоментувати частину тестів і поступово узагальнювати своє рішення.