我有如下代码:
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
。 - Kamil Szot