gpt4 book ai didi

haskell - 如何使用 getContents 从命令行获取输入?

转载 作者:行者123 更新时间:2023-12-03 06:43:01 26 4
gpt4 key购买 nike

我的程序允许用户指定一个作为输入读取的文件,但是这是可选的。如果用户没有指定文件,我想从命令行读取输入。

到目前为止我有这个:

main :: IO()
main = do
(opts, mbArgs) <- parseCmdLine
input <-
case mbArgs of
Nothing -> getContents
Just file -> readFile file

这似乎不起作用。当用户未指定文件时,他们可以输入内容,但似乎无法终止以便程序可以处理该输入。

我以为您必须按 Ctrl+D,但这没有任何作用。

感谢您的帮助。

最佳答案

在典型的类 Unix 终端中(例如 Cygwin,至少在 Cygwin 的 rxvt 中;不确定 Windows 命令提示符),Ctrl+ D 仅在位于行首时发送 EOF。如果您按 Enter,然后按 Ctrl+D,它应该可以工作。如果您想发送不带换行符的 EOF,请连续按 Ctrl+D 两次。

如果不是这样,那么您的终端可能存在其他问题;代码看起来不错。

关于haskell - 如何使用 getContents 从命令行获取输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9509065/

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