使用 Ramda 的形式 f(x)(g(x)) 的函数组合
Function composition of form f(x)(g(x)) using Ramda
我无法使用 Ramda 中提供的函数找出 f(x)(g(x))
的转换。我希望理想情况下像 R.something(f, g)(x)
这样的东西——只要 x
只出现一次并且是最后一个参数。
f
是一个采用 x
的函数,returns 是一个函数
g
是一个采用 x
的函数,returns 是一个值
我已经尝试了 pipe
、compose
、chain
,但老实说,我猜很难,但没有一个能奏效。我最近问了一个类似的问题,我很想知道一个具有大量有用身份的资源,如果存在的话,所以我不需要继续询问 :)
chain
很接近:它对函数执行 chain(f, g)(x) == f(g(x))(x)
。所以你只需要在将它传递给 chain
:
之前翻转 f
R.chain(R.flip(f), g)(x)
或
const something = R.compose(R.chain, R.flip)
something(f, g)(x)
我无法使用 Ramda 中提供的函数找出 f(x)(g(x))
的转换。我希望理想情况下像 R.something(f, g)(x)
这样的东西——只要 x
只出现一次并且是最后一个参数。
f
是一个采用 x
的函数,returns 是一个函数
g
是一个采用 x
的函数,returns 是一个值
我已经尝试了 pipe
、compose
、chain
,但老实说,我猜很难,但没有一个能奏效。我最近问了一个类似的问题,我很想知道一个具有大量有用身份的资源,如果存在的话,所以我不需要继续询问 :)
chain
很接近:它对函数执行 chain(f, g)(x) == f(g(x))(x)
。所以你只需要在将它传递给 chain
:
f
R.chain(R.flip(f), g)(x)
或
const something = R.compose(R.chain, R.flip)
something(f, g)(x)