Tôi có đoạn mã sau:hành động IO Wrong đặt hàng bằng putStr và getline
main = do
putStr "Test input : "
content <- getLine
putStrLn content
Khi tôi chạy nó (với runhaskell
) hoặc biên dịch nó (GHC 6.10.4) kết quả là như thế này:
asd
Test input : asd
Tại sao Test input : asd
được in sau asd
?
Trong mẫu mã trên http://learnyouahaskell.com/, sử dụng putStr
, đầu ra được trình bày của getLine
khác với của tôi. Khi tôi sử dụng putStrLn
chương trình hoạt động như mong đợi (in, sau đó nhắc và in).
Đây có phải là lỗi trong ghc
hoặc đó là cách hoạt động của nó?
bạn có thể cần 'nhập System.IO' thay vì' nhập IO' –