假设使用
执行某些Haskell文件runghc Queens.hs gecode_compile
现在,这失败了,我想用ghci
调试它。如何将选项gecode_compile
传递到该计划中,以便getArgs
能够正确阅读?
谢谢!
答案 0 :(得分:53)
您还可以在ghci
中设置命令行参数ghci> :set args foo bar
ghci> main
或
ghci> :main foo bar
答案 1 :(得分:17)
您可以使用System.Environment.withArgs
函数执行main
所需的参数。
这是一个示例会话(不相关的细节省略):
$ ghci
GHCi, version 7.0.3: http://www.haskell.org/ghc/ :? for help
Prelude> import System.Environment
Prelude System.Environment> let main = getArgs >>= mapM_ putStrLn
Prelude System.Environment> withArgs ["hello", "world"] main
hello
world
答案 2 :(得分:12)
您可以使用:set
命令:
Prelude> :set args whatever
这意味着getArgs
会返回["whatever"]
。
所以在你的情况下你应该这样做:
Prelude> :set args gecode_compile