1

現在、Haskell IO を学習しようとしており、System.IO writeFile を使用して、次のコードでテキスト ファイルを編集しています。

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

ghci ではこれは正常に動作しますが、runhaskell を使用してそれを繰り返そうとすると、最初に 'text <- getLine' 関数を実行しているように見え、次の出力が得られます (最初の 2 行が入力されました)。

runhaskell EditFile.hs
hello
Enter Some Text: Updated!

runhaskell が関数を順番に実行しないのはなぜですか? これを回避する方法はありますか? (つまり、ユーザー入力を取得する前に「Enter Some Text:」を出力することはできますか?)

4

0 に答える 0