1

我想这样写purescript-timers

main = do
  t <- interval 10 $ do
    clearInterval t

发生错误

未知值 t

4

1 回答 1

0

您可以使用 aRef来存储和读取 ID。

main = do
  idRef ← Ref.new (-1)
  id ← interval 10 (Ref.read idRef >>= clearInterval)
  Ref.write id idRef

您的程序无法编译的原因t是仅在活页夹之后的范围内。换句话说,do-block后面的任何语句都可以使用t,但之前的语句不能使用,语句本身也不能使用t

在这个解决方案中Ref,因为idRef预先绑定在一个语句中,所以它可以在后面的语句中的任何地方使用。

于 2019-04-06T20:21:43.367 回答