使用“ghC语言 e”运行 Haskell 代码时是否可以传递命令行参数



直觉上,我已经尝试过

$ ghc -e "import System.Environment" -e "getArgs" -- a b c
ghc: unrecognised flag: --
did you mean one of:
  -n
  -F
  -v
Usage: For basic information, try the `--help' option.
$

。没有成功。

我期望输出与["a","b","c"]一致.

这里的文档似乎没有提到任何传递 cli 参数的方法。

标准中的 AFAIK 管道按预期工作。

也许如果不可能传递带有ghc -e的参数,也许ghci仍然可以同时提供一些代码,一些参数,运行,然后退出?

回答问题的第二部分:

Prelude> :help :main
 Commands available from the prompt: 
   …
   :main [<arguments> ...]     run the main function with the given arguments
   …
Prelude> let main = System.Environment.getArgs >>= print
Prelude> :main foo bar
["foo","bar"]

相关内容

  • 没有找到相关文章

最新更新