我是榆树的新手,说实话,我现在正在努力解决某些概念.我不确定我的问题有多清楚,但这正是我想要做的.
例如:
aFunction value1 value2
Run Code Online (Sandbox Code Playgroud)
相当于:
value2
|> aFunction value1
Run Code Online (Sandbox Code Playgroud)
但如果我想要的东西传递value1给aFunction通过管道来代替value2?
目前我正在使用这样的东西:
value1
|> (\x y -> aFunction y x) value2
Run Code Online (Sandbox Code Playgroud)
不过,说实话,这对我来说是一种冲击.有没有更优雅的方式来做到这一点?
我在实践中尝试编写的代码是相当长的一系列管道的一部分,使用带有大量括号的表达式是不切实际的(或至少是不可读的).
使用翻转函数(这就是你在lambda表达式中定义的函数):
value1 |> (flip aFunction) value2
Run Code Online (Sandbox Code Playgroud)