这真的不容易找到答案,但唉,我不想......我想延迟do
块中的下一个执行步骤。我找到了这些功能
delay
,
sleep
,
nanosleep
和
usleep
。
而且这个问题并没有涵盖如何使用其中任何一个,但是:Sleep in Haskell。
我对所有这些都得到同样的错误,所以我可能从根本上做错了什么:
Variable not in scope: delay :: Integer -> IO a0
这是我的测试代码段:
main = do
{
putStrLn "line 1"
; delay 2
; putStrLn "line 2"
}
谷歌搜索错误实际上并没有因某种原因产生任何有用的东西。
答案 0 :(得分:3)
嗯,你必须先导入Control.Concurrent
:
import Control.Concurrent
threadDelay 1000000 --sleep for a million microseconds, or one second