main函数不会在haskell中使用任何参数

Aug*_*son 3 haskell functional-programming function

嗨,我想在haskell中定义一个main函数,类似于java中的main函数

main :: String -> IO()
main args = do
            putStrLn args
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行程序时,这会给我一个错误.

Mas*_*tic 6

Haskell程序的入口点的类型IO ()不是String -> IO ().

要获取命令行参数,请使用System.Environment's getArgs.

使用do-notation:

import System.Environment (getArgs)

main :: IO ()
main = do
  args <- getArgs
  print args
Run Code Online (Sandbox Code Playgroud)

(注意用的print是代替putStrLn,因为args有类型[String],而不是String.)