gpt4 book ai didi

Haskell - 在运行时获取输入

转载 作者:行者123 更新时间:2023-12-01 11:21:18 25 4
gpt4 key购买 nike

我是 Haskell 的新手,我不知道如何在代码执行期间接受用户的输入。假设我输入这段代码:

import System.IO

main = do
putStrLn "Hi, what's your name?"
name <- getLine
putStrLn ("Hi " ++ name)

好吧,我希望文本“嗨,你叫什么名字?” 我输入我的名字之前显示,然后打印第二行”嗨,名字”用户键入他们的名字之后。但是,就像现在一样,在我键入我的名字之后之前,没有任何文本显示。这使得问题变得多余,因为在用户回答问题之前,问题不会呈现给用户。

我知道这可能是一个菜鸟问题,但我已经用谷歌搜索了很长时间但没有成功。感谢您的宝贵时间。

最佳答案

这可能是由于您系统上的默认缓冲造成的。尝试使用 hSetBuffering 将缓冲模式明确设置为行缓冲:

main = do
hSetBuffering stdout LineBuffering
hSetBuffering stdin LineBuffering
putStrLn "Hi, what's your name?"
name <- getLine
putStrLn ("Hi " ++ name)

关于Haskell - 在运行时获取输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42495196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com