getArgs 是如何工作的,我试图从终端读取文本文件,然后将内容发送到我定义的函数之一。有人可以发布一个示例代码,让我了解它是如何工作的。谢谢。
问问题
2924 次
2 回答
11
getArgs
是一个IO
动作,它产生一个列表String
fmap someFunction $ readFile =<< fmap head getArgs
或应用风格:
someFunction <$> readFile =<< head <$> getArgs
于 2013-02-19T02:35:26.580 回答
4
getArgs
为您提供命令行参数列表(不包括 C 程序员调用argv[0]
的内容、正在运行的二进制文件的名称)。因此,例如,如果您将应用程序编译为foo
然后foo a b c
在命令行上执行,那么getArgs
将返回["a", "b", "c"]
.
根据您的问题,我不确定您是否希望在命令行上有一个文件名,或者您是否希望在标准输入中输入数据。
如果您要查找文件名,只需将结果从中获取getArgs
并将其传递给openFile
(或者可能readFile
,取决于您所追求的内容)。
如果您尝试做管道,您可能会查看interact
,这可能会做您想要的。
于 2013-02-19T20:11:08.493 回答