我来自C++。此代码:
int main() { int age; std::cout << "Type your age: "; std::cin >> age; return 0; }
字符串会在终端上产生这样的结果:
Type your age: _
型我可以在消息的同一行输入年龄值。如何在Haskell中实现相同的结果?
flvlnr441#
您可以使用putStr函数打印结尾没有换行符的消息:
putStr
import System.IO main = do hSetBuffering stdout NoBuffering putStr "Type your age: " age <- readLn::IO Int return ()
字符串
0qx6xfy62#
默认情况下,输出会写入缓冲区,直到出现一个换行符,然后才真正写入标准输出。要禁用缓冲区并直接写入标准输出,您需要运行hSetBuffering stdout NoBuffering。(相关绑定可在System.IO中找到)
hSetBuffering stdout NoBuffering
2条答案
按热度按时间flvlnr441#
您可以使用
putStr
函数打印结尾没有换行符的消息:字符串
0qx6xfy62#
默认情况下,输出会写入缓冲区,直到出现一个换行符,然后才真正写入标准输出。要禁用缓冲区并直接写入标准输出,您需要运行
hSetBuffering stdout NoBuffering
。(相关绑定可在System.IO中找到)