我无法找出 f(x)(g(x))
的转换使用 Ramda 中提供的功能。我希望有类似 R.something(f, g)(x)
的东西理想情况下 - 只要 x
仅出现一次,并且是最终参数。
f
是一个取 x
的函数返回一个函数
g
是一个取 x
的函数返回一个值
我已经尝试过pipe
, compose
, chain
,但说实话,我猜测得相当困难,而且没有一个能工作。我最近问了一个类似的问题,我很想知道一种具有大量有用身份的资源(如果存在),这样我就不需要继续询问:)
最佳答案
chain
很接近:它对函数执行 chain(f, g)(x) == f(g(x))(x)
。因此,您只需在将 f
传递到 chain
之前翻转它即可:
R.chain(R.flip(f), g)(x)
或
const something = R.compose(R.chain, R.flip)
something(f, g)(x)
关于javascript - 使用 Ramda 的 f(x)(g(x)) 形式的函数组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46575681/