Реалізуйте операцію accumulate, яка, отримавши колекцію та операцію, яку слід виконати над кожним елементом колекції, повертає нову колекцію, що містить результат застосування цієї операції до кожного елемента вхідної колекції.
Маємо колекцію чисел:
І операцію:
x => x * x)Код має вміти утворити колекцію квадратів:
Перегляньте набір тестів, щоб побачити очікувану сигнатуру функції.
Не чіпайте ту функціональність collect/map/fmap/як-його-там, яку надає стандартна бібліотека! Розвʼяжіть цю вправу самостійно, використавши натомість інші базові інструменти.
Якщо бути точнішими, нам не можна використовувати жодного з вбудованих методів LINQ.
Оскільки accumulate повертає IEnumerable, його виконання відкладається доти, доки на ньому не викличуть ToList(). Саме це перевіряє метод Accumulate_is_lazy.
У цій вправі потрібно написати метод розширення. Докладніше див. цю сторінку.
Зареєструйтеся на Exercism, щоб вивчати й опановувати C#, а також 62 концепції178 вправ та справжнє наставництво від людей, і все це безкоштовно.