Ian*_*lor 5 functional-programming elm
我正在学习榆树.函数式编程相对较新.我试图从http://elm-lang.org/learn/Using-Signals.elm了解这个例子来计算鼠标点击次数.他们提供以下代码:
clickCount =
foldp (\click count -> count + 1) 0 Mouse.clicks
Run Code Online (Sandbox Code Playgroud)
他们解释说foldp有三个参数:一个反向增量器,我们将其定义为具有两个输入的匿名函数,一个起始状态0和Mouse.clicks信号.
我不明白为什么我们需要在匿名函数中进行变量单击.为什么我们不能只有\ count - > count + 1?额外输入是否与我们输入foldp的输入绑定?
谢谢!
你需要它,因为foldp
需要一个带两个输入的函数.在这种情况下,lambda会忽略第一个输入,但foldp
实现仍然存在一些内容. Mouse.clicks
总是Unit
在那里放置一种无所事事的价值.
一些信号具有与它们相关联的值Mouse.position
,例如.如果您想要测量鼠标移动的距离,则需要使用该参数.