0

我遇到了这个 Codewars 问题:

你的任务是编写一个高阶函数,将一元函数列表链接在一起。换句话说,它应该返回一个对给定函数进行左折叠的函数。

chained([a,b,c,d])(input)

应该产生相同的结果

d(c(b(a(input))))

我真的不在乎问题的答案是什么,我可以在网站上访问它。我真正需要向我解释的是第一个功能,“链式”。我从来没有见过这样的函数,在单独的括号中包含两组参数,所以我想我解释错了..这是什么意思?谢谢您的帮助

4

2 回答 2

1

它不是一个有两组参数的函数,而是一个返回另一个函数的函数,一个接一个地执行作为参数给出的函数。

如果将行分成两行,可能会更清楚:

f = chained([a,b,c,d]) # call `chained` with functions as parameters
f(input)               # call result of `chained`, which is another function
于 2020-09-14T08:09:00.840 回答
0

如问题所述,它chained是一个高阶函数-它将接受一个参数-函数列表并将返回/产生一个函数。该函数是通过传递一个参数来调用的——在这种情况下是另一个函数input

于 2020-09-14T08:10:14.777 回答