如何在Haskell的同一行打印和阅读?

Aug*_*ias 2 c++ haskell functional-programming

我来自C++.

这段代码:

 int main() {
     int age; 
     std::cout << "Type your age: ";
     std::cin  >> age;
     return 0;
 }
Run Code Online (Sandbox Code Playgroud)

会在终端上产生这样的东西:

 Type your age: _
Run Code Online (Sandbox Code Playgroud)

我可以在消息的同一行输入年龄值.

如何在Haskell中实现相同的结果?

ass*_*.jc 5

您可以使用putStr函数来打印最后没有换行符的消息,如下所示:

import System.IO

main = do hSetBuffering stdout NoBuffering
          putStr "Type your age: "
          age <- readLn::IO Int
          return ()
Run Code Online (Sandbox Code Playgroud)