WinGHCi 中的输入重定向

发布于 2024-11-26 18:58:20 字数 399 浏览 0 评论 0原文

我知道我可以从命令提示符执行以下操作:

$ 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'

I know I can do the following from a command prompt:

$ runghc WC < quux.txt

How do I do this in WinGHCi? I know I have to first load the file like this:

Prelude> :load WC

But then what? This doesn't work:

*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'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

神经大条 2024-12-03 18:58:20

查看提供的IO例程:

http://www.haskell.org/tutorial/io.html< /a>

另一个值得一看的地方是:

http://book.realworldhaskell.org/read/io。 html

我认为你需要以不同的方式编写你的程序。 WC 应通过文件句柄进行参数化。然后您可以在 GHCi 上执行wc (openFile "quux.txt" ReadMode)。然后,将 main 函数定义为 main = wc stdin ,以保持命令提示符处的输入重定向正常工作。

Look at the IO routines provided:

http://www.haskell.org/tutorial/io.html

Another place to look is:

http://book.realworldhaskell.org/read/io.html

I think you need to write your program differently. WC should be parameterized by the file handle. Then you can do wc (openFile "quux.txt" ReadMode) at GHCi. Then you define your main function as main = wc stdin to keep the input redirection at the command prompt working.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文