gpt4 book ai didi

haskell - 在haskell中读取直到流结束

转载 作者:行者123 更新时间:2023-12-03 15:24:59 26 4
gpt4 key购买 nike

我对 Haskell 很陌生,我想一直从控制台读取行,直到流结束,并以大写形式输出我得到的所有内容。到目前为止,我有

import Data.Char

main = myLoop

myLoop = do inp <- getLine
if (inp == "x")
then putStrLn "Bye!"
else do putStrLn(map toUpper inp)
myLoop

但是,我似乎无法弄清楚如何避免 if (inp == "x")条件并将其替换为流结束条件。

简而言之,我正在寻找与 while (cin >> line) 等效的 Haskell在 C++ 中

最佳答案

使用 isEOF 来自 System.IO .

import System.IO (isEOF)
import Data.Char

main = myLoop

myLoop = do done <- isEOF
if done
then putStrLn "Bye!"
else do inp <- getLine
putStrLn (map toUpper inp)
myLoop

关于haskell - 在haskell中读取直到流结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9754794/

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