在elm中,如何将一个值作为参数传递给函数而不是最后一个?

M T*_*lor 2 elm

我是榆树的新手,说实话,我现在正在努力解决某些概念.我不确定我的问题有多清楚,但这正是我想要做的.

例如:

aFunction value1 value2
Run Code Online (Sandbox Code Playgroud)

相当于:

value2
  |> aFunction value1
Run Code Online (Sandbox Code Playgroud)

但如果我想要的东西传递value1aFunction通过管道来代替value2

目前我正在使用这样的东西:

value1
  |> (\x y -> aFunction y x) value2
Run Code Online (Sandbox Code Playgroud)

不过,说实话,这对我来说是一种冲击.有没有更优雅的方式来做到这一点?

我在实践中尝试编写的代码是相当长的一系列管道的一部分,使用带有大量括号的表达式是不切实际的(或至少是不可读的).

che*_*ner 5

使用翻转函数(这就是你在lambda表达式中定义的函数):

value1 |> (flip aFunction) value2
Run Code Online (Sandbox Code Playgroud)

  • 定义`aFunctionWithMoreConvenientArguments xyz = aFunction zxy`的@MTaylor可能是你最好的选择. (2认同)