use*_*010 4 io executable haskell ghc
有了这个文件:
main = do
putStr "Input: "
s <- getLine
putStr s
Run Code Online (Sandbox Code Playgroud)
它在GHCi中执行我想要的操作,即提示然后允许输入与提示在同一行.如果我编译它并在终端中运行可执行文件,我将在输入之后才会看到提示.关于新线的一些事情.我使用的是Mac OS 10.8.5,GHC 7.4.2.
是否需要切换终端设置或GHC选项以从可执行文件中获取我想要的行为?
您需要使用hSetBuffering
从System.IO
main = do
hSetBuffering stdout NoBuffering
putStr "Input: "
s <- getLine
putStr s
Run Code Online (Sandbox Code Playgroud)