榆树 - 对信号和数字混合进行数学运算

时间:2016-03-29 10:43:29

标签: math numbers signals elm

给出

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

1 个答案:

答案 0 :(得分:1)

Mouse.x的类型为Signal 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中以使用概念。