我不能使用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