2013-02-19 27 views
1

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

+1

谷歌搜索“Haskell getArgs如何工作”的第一次打击:http://www.haskell.org/haskellwiki/Tutorials/Programming_Haskell/Argument_handling – Cubic 2013-02-19 02:29:21

回答

8

getArgsIO动作产生的String

fmap someFunction $ readFile =<< fmap head getArgs 

或应用型风格的列表:

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

getArgs给你的命令行参数的清单(包括哪些C程序员调用argv[0],正在运行的二进制文件的名称)。例如,如果您将应用程序编译为foo,然后在命令行上执行foo a b c,则getArgs将返回["a", "b", "c"]

从你的问题,我不知道是否你在命令行期待,或者无论你是在标准的期待数据。

如果你是一个文件名后,只取结果从getArgs并将它传递给openFile(或者readFile,这取决于你以后)。

如果你正在尝试做管道系统,你可以看看interact,它可以做你想做的。