gpt4 book ai didi

haskell - 有相当于步进器的网线吗?

转载 作者:行者123 更新时间:2023-12-02 14:20:41 24 4
gpt4 key购买 nike

Reactive-banana 有一个名为 stepper 的函数(类型为 MonadMoment m => a -> Event a -> m (Behavior a)),用于转换事件进入一种行为,其中行为的值是最后一个事件的值,如果尚未发生事件,则为初始值。

在 Conal Elliott 的一次演讲中(我不记得他的名字了),他将其描述为事件和行为的基本运算之一。但是我在netwire中找不到类似的功能。由于我对 netwire 的了解有限,我希望它具有类型:

a -> Wire s e m(事件 a)a

  • netwire 有同等功能吗?
  • 如果不能,是否有任何原因无法做到这一点?
  • 是否有类似的可能,即将事件转化为行为的方法?

最佳答案

我正在寻找的函数名为 hold, in Control.Wire.Interval .

这不需要初始值,因为在接收到第一个事件之前线路会被禁止。如果需要这种行为,可以像这样实现

stepper init = hold <|> pure init

关于haskell - 有相当于步进器的网线吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40161442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com