想象一下有三个函数,它们都接受并返回相同类型的参数。
通常我们可以写成fun3(fun2(fun1(args))
,这可以说是一个序列函数按顺序作用于参数,类似于一种高阶函数“map”。
你知道在 Mathematica 中,我们可以把它写成fun3@fun2@fun1@args
.
现在的问题是,我们是否可以在不修改其定义的情况下将 fun3@fun2@fun1 集成为另一个 fun,因此fun(args)
可以替换fun3(fun2(fun1(args))
,这样看起来更优雅简洁。