haskell getArgs

时间:2013-02-19 02:24:53

标签: haskell

getArgs如何工作,我试图从终端读取文本文件,然后将内容发送到我定义的函数之一。有人可以发布示例代码,让我了解它是如何工作的。感谢。

2 个答案:

答案 0 :(得分:9)

getArgsIO操作,会生成String

列表
fmap someFunction $ readFile =<< fmap head getArgs

或在申请方式中:

someFunction <$> readFile =<< head <$> getArgs

答案 1 :(得分:2)

getArgs为您提供了一个命令行参数列表(,包括C程序员调用的argv[0],正在运行的二进制文件的名称)。例如,如果您将应用程序编译为foo,然后在命令行上执行foo a b c,那么getArgs将返回["a", "b", "c"]

根据您的问题,我不确定您是否期望在命令行上使用文件名,或者您是否希望管道中的数据标准输入。

如果您正在使用文件名,只需从getArgs获取结果并将结果传递给openFile(或者readFile,具体取决于您的目标)。

如果你正在试图做管道,你可能会看interact,这可能会做你想要的。