Haskell FRP 库 Helm 中似乎没有太多关于 Sample a
的文档。我正在尝试编写一个类似于 sample on
的函数在 Elm 中,我认为 update
可以提供帮助。但是我对 update
的工作原理感到困惑,因为从源代码 here ,看来变量p
根本没有被使用。
这个函数应该做什么?如果不使用输入p
,为什么要包含它?有一个更好的方法吗?我认为 seq
可以工作,但我尝试使用 seq
实现我的动画,但它没有做我正在寻找的事情。
最佳答案
第一个参数的存在可能是出于历史原因或与 helm 提供的其他功能的一致性;但我对这两者都了解不够,无法确定。
update
函数的预期用途似乎是在其参数周围包装适当的构造函数:update p a s
将导致 Changed a
或 Unchanged a
取决于 a
是否与存储在 s
中的值匹配。例如,人们可以使用它作为 foldp
的参数:
foldp (update undefined) :: Eq a => Sample a -> Signal a -> Signal (Sample a)
下游信号可以轻松忽略未更改
值。
关于haskell - Helm 中的示例是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30561548/