我知道我可以从命令提示符处执行以下操作:
$ runghc WC < quux.txt
如何在WinGHCi中执行此操作?我知道我必须先加载这样的文件:
Prelude> :load WC
但那又怎么样?这不起作用:
*Main> WC < quux.txt
<interactive>:1:1: Not in scope: data constructor `WC'
<interactive>:1:6: Not in scope: `quux'
<interactive>:1:11: Not in scope: `txt'
答案 0 :(得分:4)
查看提供的IO例程:
http://www.haskell.org/tutorial/io.html
另一个值得关注的地方是:
http://book.realworldhaskell.org/read/io.html
我认为你需要以不同的方式编写你的程序。 WC应该由文件句柄参数化。然后你可以在GHCi做wc (openFile "quux.txt" ReadMode)
。然后将主函数定义为main = wc stdin
,以使命令提示符下的输入重定向保持有效。