Неправильный порядок действий ввода-вывода с использованием putStr и getLine
У меня есть следующий код:
main = do
putStr "Test input : "
content <- getLine
putStrLn content
Когда я запускаю его (сrunhaskell
) или скомпилируйте его (ghc 6.10.4), результат будет следующим:
asd
Test input : asd
ПочемуTest input : asd
печатается послеasd
?
В примере кода наhttp://learnyouahaskell.com/, который используетputStr
,getLine
Представленный результат отличается от моего. Когда я используюputStrLn
программа работает как положено (распечатайте, затем подсказайте и распечатайте).
Это ошибка вghc
или это так должно работать?