Haskell中的System.Environment中提供了讀取命令行參數(shù)的方法:
import System.IO.Environment
main = do args <- getArgs
print args
上述代碼簡(jiǎn)單的讀入命令行,并且打印輸入。
Haskell還提供了GHCi交互式環(huán)境中模擬命令行輸入的方式,方便程序員測(cè)試程序,在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指令,第一個(gè)參數(shù)為IO a的表達(dá)式,類(lèi)似常規(guī)main函數(shù),并且也使用
System.Environment.getArgs的方法獲取命令行參數(shù); - 第二、第三等等參數(shù)模擬的是命令行參數(shù)
上述功能實(shí)際上是使用System.Environment.withArgs函數(shù)實(shí)現(xiàn)的。其類(lèi)型簽名為:withArgs :: [String] -> IO a -> IO a。也可以在GHCi環(huán)境下使用withArgs函數(shù)測(cè)試命令行參數(shù)處理。