36
我有以下代碼:錯誤IO動作順序使用putStr和函數getline
main = do
putStr "Test input : "
content <- getLine
putStrLn content
當我運行它(與runhaskell
)或編譯(GHC 6.10.4)的結果是這樣的:
asd
Test input : asd
爲什麼在asd
之後打印Test input : asd
?
在http://learnyouahaskell.com/的代碼示例中,它使用putStr
,getLine
的輸出結果與我的不同。當我使用putStrLn
時,程序按預期工作(打印,然後提示和打印)。
它是ghc
中的錯誤,還是它應該工作的方式?
你可能需要'import System.IO'而不是'import IO' – 2015-11-26 12:54:36