Haskell中的System.Environment中提供了读取命令行参数的方法:
import System.IO.Environment
main = do args <- getArgs
print args
上述代码简单的读入命令行,并且打印输入。
Haskell还提供了GHCi交互式环境中模拟命令行输入的方式,方便程序员测试程序,在GHCi中用如下方法:
Prelude> import System.Environment
Prelude System.Environment> let mymain = do { args <- getArgs; print args }
Prelude System.Environment> :run mymain 1 2 3 4 "abc"
["1","2","3","4","abc"]
Prelude System.Environment>
- 使用magic command的:run指令,第一个参数为IO a的表达式,类似常规main函数,并且也使用
System.Environment.getArgs
的方法获取命令行参数; - 第二、第三等等参数模拟的是命令行参数
上述功能实际上是使用System.Environment.withArgs
函数实现的。其类型签名为:withArgs :: [String] -> IO a -> IO a
。也可以在GHCi环境下使用withArgs
函数测试命令行参数处理。
网友评论