gpt4 book ai didi

notepad++ 中的 Haskell 控制台 IO

转载 作者:行者123 更新时间:2023-12-02 19:41:16 25 4
gpt4 key购买 nike

我最近开始学习Haskell。我有这个代码

module Main
where

import IO

main = do
hSetBuffering stdin LineBuffering
putStrLn "Please enter your name: "
name <- getLine
putStrLn ("Hello, " ++ name ++ ", how are you?")

我将 GHC 编译器与 notepad++ 编辑器一起使用。问题是交互是这样的:

Process started >>>
Vlad
Please enter your name:
Hello, Vlad, how are you?
<<< Process finished.

如您所见,只有在我输入内容后才会写入输出。这有点出乎我的意料,因为我确信程序会首先询问我的名字,然后我输入它,然后它会打招呼。好吧,如果我手动运行 exe,这正是会发生的情况,但如果我使用 notepad++ 运行它并使用其控制台包装器,则不会发生...

如何让 notepad++ 在应该的时候显示输出,而不是在程序终止之前显示全部输出?这可能吗?

最佳答案

尝试将stdout设置为LineBuffering!另外,在 ghci 中加载程序而不是运行编译版本似乎根本不需要任何缓冲...

顺便说一句,我不知道 NPP 中的控制台 - 感谢您向我指出!

关于notepad++ 中的 Haskell 控制台 IO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2802653/

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