Ich habe den folgenden Code:Falsche IO Aktionen Reihenfolge mit putstr und getLine
main = do
putStr "Test input : "
content <- getLine
putStrLn content
Wenn ich es laufen (mit runhaskell
) oder kompilieren (ghc 6.10.4) ist das Ergebnis wie folgt aus:
asd
Test input : asd
Warum wird Test input : asd
nach asd
gedruckt?
In dem Codebeispiel auf http://learnyouahaskell.com/, das ist anders als meine putStr
, die getLine
‚s präsentiert Ausgang verwendet. Wenn ich putStrLn
verwende, funktioniert das Programm wie erwartet (Drucken, dann Aufforderung und Drucken).
Ist es ein Fehler in ghc
, oder es ist die Art, wie es funktionieren sollte?
Sie müssen 'importieren System.IO' anstelle von' Import IO' –