翻转Elm函数调用的参数

Ter*_*non 8 elm

我试图修改显示单个间隔的Elm示例,以便呈现多个不同颜色的间隔:

import Color exposing (red, blue, yellow)
import Graphics.Element exposing (Element, color, spacer, flow, right)


colors = [ yellow, red, blue ]

presentColors : List Element
presentColors = List.map (color ??? (spacer 30 30)) colors

main : Element
main =
  flow right presentColors
Run Code Online (Sandbox Code Playgroud)

但是,您可以看到该函数首先color采用颜色参数,因此我无法创建它的部分应用版本以供List.map使用.

那么如何将参数翻转color以便可以部分应用?

kqr*_*kqr 10

转到Elm库页面.按标准库.在搜索框中,键入flip并单击出现的功能.那将为您提供文档

flip : (a -> b -> c) -> b -> a -> c
将前两个参数的顺序翻转为函数.

你可以做到

flip color (spacer 30 30)
Run Code Online (Sandbox Code Playgroud)

这是一回事

\c -> color c (spacer 30 30)
Run Code Online (Sandbox Code Playgroud)

  • Fyi flip、curry 和 uncurry 已从 Elm 0.19 中删除。请参阅[删除的函数](https://github.com/elm/compiler/blob/master/upgrade-docs/0.19.md#functions-removed)。 (5认同)
  • Elm 0.19.0 的已删除函数列表已移至[此处](https://github.com/elm/compiler/blob/master/docs/upgrade-instructions/0.19.0.md#functions-removed)。 (2认同)