我不能使用Ramda中可用的函数找出f(x)(g(x))
的变换。我希望在R.something(f, g)(x)
的理想情况下 - 只要x
只出现一次,并且是最后一个参数。使用Ramda的形式f(x)(g(x))的函数组合
f
是采取x
返回功能
g
是一个函数采取x
返回一个值
我试过pipe
,compose
,chain
功能,但TBH我猜很辛苦并没有一个人工作。我最近问了一个类似的问题,我很想知道如果存在一个有用身份的资源,所以我不需要继续问这么:)
我不能使用Ramda中可用的函数找出f(x)(g(x))
的变换。我希望在R.something(f, g)(x)
的理想情况下 - 只要x
只出现一次,并且是最后一个参数。使用Ramda的形式f(x)(g(x))的函数组合
f
是采取x
返回功能
g
是一个函数采取x
返回一个值
我试过pipe
,compose
,chain
功能,但TBH我猜很辛苦并没有一个人工作。我最近问了一个类似的问题,我很想知道如果存在一个有用身份的资源,所以我不需要继续问这么:)
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)
顺便说一句,如果你认为'恒= X => Y => x'这是一个适用函子。 – ftor