【发布时间】:2013-09-02 15:53:31
【问题描述】:
为了试用 Netwire,我正在使用该库实现 Pong。在代码中,我有一根球线和一根电脑桨线,由于它们在某些值上相互依赖,所以我遇到了无限循环的问题。一些伪代码来解释:
ball :: Wire () IO GameInput Ball
ball = (... define ball ...) . pcPaddle
pcPaddle :: Wire () IO GameInput Paddle
pcPaddle = (... define pcPaddle ...) . ball
需要注意的是,它们相互接受输入。我已尝试通过执行以下操作来缓解这种情况:
ball :: Wire () IO GameInput Ball
ball = ( ... ) . delay ( ... base paddle init ...) . pcPaddle
以及在这两条线中使用delay 函数的其他变体,但无论如何我都会收到<<loop>> 运行时错误。
如何初始化其中一根线,以便该系统可以工作?
【问题讨论】:
标签: haskell frp arrows netwire