直觉上,我已经尝试过
$ 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"]