Elm - 对信号和数字的混合执行数学运算

Elm - performing math operations on a mixture of Signals and numbers

给定

a : Float

表达式怎么写

Mouse.x - a

正确吗?目的是评估这样的表达式:

(Mouse.x - a) < 2

目前给出的错误是

(-) is expecting the left argument to be a:

    number

But the left argument is:

    Signal Int

Mouse.xSignal Int 类型。您需要使用 Signal.map 来响应鼠标信号,以便对值进行任何数学运算。

import Mouse
import Graphics.Element exposing (show)

main =
  Signal.map showMouseInfo Mouse.x

showMouseInfo x =
  show <| "Original x: " ++ toString x ++ "; x-1: " ++ toString (x - 1)

您可以将其粘贴到 http://elm-lang.org/try 中以尝试理解这些概念。