翻转 Elm 函数调用的参数
flip arguments to Elm function call
我正在尝试修改 the Elm example that shows a single spacer 以便它呈现多个不同颜色的垫片:
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
然而,正如您所见,函数 color
首先接受颜色参数,因此我无法创建它的部分应用版本供 List.map
使用。
那么如何将参数翻转到 color
以便可以部分应用它?
从 Elm 0.19 开始,flip
不再是 included by default。文档建议改用命名辅助函数。
转到 the Elm (pre v0.19) libraries page. Press Standard Libraries. In the search box, type in flip
and click the function that comes up。这将为您提供
的文档
flip : (a -> b -> c) -> b -> a -> c
Flip the order of the first two arguments to a function.
你可以用它来做
flip color (spacer 30 30)
与
相同
\c -> color c (spacer 30 30)
Flip 已从 elm/core 的 0.19
中删除。你可以试试:
pilatch/flip 改为打包。
我正在尝试修改 the Elm example that shows a single spacer 以便它呈现多个不同颜色的垫片:
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
然而,正如您所见,函数 color
首先接受颜色参数,因此我无法创建它的部分应用版本供 List.map
使用。
那么如何将参数翻转到 color
以便可以部分应用它?
从 Elm 0.19 开始,flip
不再是 included by default。文档建议改用命名辅助函数。
转到 the Elm (pre v0.19) libraries page. Press Standard Libraries. In the search box, type in flip
and click the function that comes up。这将为您提供
flip : (a -> b -> c) -> b -> a -> c
Flip the order of the first two arguments to a function.
你可以用它来做
flip color (spacer 30 30)
与
相同\c -> color c (spacer 30 30)
Flip 已从 elm/core 的 0.19
中删除。你可以试试:
pilatch/flip 改为打包。