Falsche Reihenfolge der E / A-Aktionen mit putStr und getLine
Ich habe folgenden Code:
main = do
putStr "Test input : "
content <- getLine
putStrLn content
Wenn ich es laufen lasse (mitrunhaskell
) oder kompiliere es (ghc 6.10.4) das ergebnis sieht so aus:
asd
Test input : asd
Warum istTest input : asd
wird nachher gedrucktasd
?
Im Codebeispiel aufhttp://learnyouahaskell.com/, die verwendetputStr
, dasgetLine
Die präsentierte Ausgabe unterscheidet sich von meiner. Wenn ich benutzeputStrLn
Das Programm funktioniert wie erwartet (Drucken, dann Eingabeaufforderung und Drucken).
Ist es ein Fehler inghc
, oder soll es so funktionieren?