2

我想创建一个具有这种类型的函数:

 Signal x -> x

举个例子

my_return : Signal x -> x
my_return x = x     -- this is the part I have wrong

我可以获取一个简单地接受信号 x 并返回 x 的函数示例吗?

4

1 回答 1

4

你不能在 Elm(以及任何纯函数式语言)中做到这一点。

Elm 所做的是为您提供一种操作输入并通过称为lift的东西创建输出的方法。

lift : (a -> b) -> Signal a -> Signal b

所以假设我们有 my_return 类型为 a -> a 那么我们可以这样写

my_return : a -> a
my_return x = x

lift my_return input

通过组合所有这些功能,您将获得一个产生输出(信号元素类型)的程序。

import Mouse

my_return : a -> a
my_return x = x

main : Signal Element
main = lift (asText . my_return) Mouse.position
于 2014-04-12T13:38:52.413 回答