美文网首页Haskell
Haskell中读取命令行参数

Haskell中读取命令行参数

作者: DarkBubble | 来源:发表于2018-03-06 22:10 被阅读40次

    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函数测试命令行参数处理。

    相关文章

      网友评论

        本文标题:Haskell中读取命令行参数

        本文链接:https://www.haomeiwen.com/subject/difdfftx.html