如何在 Elm 中实现 map7

how to implement map7 in Elm

我需要使用

input =
Signal.sampleOn delta <|
  Signal.map7 Key
    Keyboard.arrows
    (checknumcode '1')
    (checknumcode '2')
    (checknumcode '3')
    (checknumcode '4')
    (checknumcode '5')
    delta

但 Signal 没有 map7 我该如何实施?

如果您使用的是核心包的 2.1.0 版本,您可以使用在 Signal package. From version 3.0 these functions are not in the core anymore, you can find them in the Signal Extra package

中找到的 Fancy Mapping (<~) 和 (~) 运算符

您可以找到here关于如何使用这些运算符的另一种解释

你的函数会变成这样

Key <~ Keyboard.arrows
    ~ (checknumcode '1')
    ~ (checknumcode '2')
    ~ (checknumcode '3')
    ~ (checknumcode '4')
    ~ (checknumcode '5')
    ~ delta

我只是合并了一些信号并使用了map3