Вот полное условие: Напиши функцию func(f1, gen), которая принимает на вход 2 функции, f1 и gen, где gen — функция-генератор вроде той. func возвращает новую функцию-генератор, которая при каждом вызове берет следующее значение из gen и пропускает его через функцию f1. При этом, необходимо сделать так, чтобы в качестве gen можно было указать функцию с аргументами, и при вызове. Эти аргументы бы передавались функции gen. Аргументов может быть любое количество. Извиняюсь за кривой поставленный вопрос.
Верно поняли. Только задавать параметры для генератора нужно в generatedFunction(1,1), чтобы счетчик можно было обнулить или изменить параметры. Вот где у меня скила не хватает.
Мне нужно немного другое:d. Если исходить из моего примера есть две функции sum() и pow(), и так понятно что они делают. Функция func(a, gen) использует эти функции в качестве аргументов, где a = sum(), gen = pow() (ну или функция счетчик, неважно). Func(a, gen) должна возвращать новую функцию-генератор, которая при каждом вызове берет следующее значение из gen и пропускает его через функцию a. Т.е. если у меня в качестве генератора pow, то вызов var func1 = func(sum, pow); console.log(func1(3)) должен вывести 3*3 + 3*3 = 18; функция берет pow ( она же gen) берет значение 3 перемножает на себя, затем отдает на обработку функции sum ( т.е. a() ); и получаем 9 + 9. Если вместо pow использовать обычный счетчик ( 0 1 2 3 4) то пропуская через a() в консоли было бы ( 0 2 4 6 8).
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.