1

目前我正在尝试学习 Haskell IO,并且正在使用 System.IO writeFile 使用以下代码编辑文本文件:

main = do
 putStr "Enter Some Text: "
 text <- getLine
 writeFile "text.txt" text
 putStrLn "Updated!"

在 ghci 中这很好用,但是当我尝试使用 runhaskell 重复它时,它似乎首先运行 'text <- getLine' 函数,并具有以下输出(输入前两行):

runhaskell EditFile.hs
hello
Enter Some Text: Updated!

为什么 runhaskell 不按顺序运行该函数,有没有办法解决这个问题?(即我可以让它在获得用户输入之前打印“输入一些文本:”吗?)

4

0 回答 0