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

问题描述 投票:3回答:1

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

main :: String -> IO()
main args = do
            putStrLn args

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

function haskell functional-programming
1个回答
6
投票

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

要获取命令行参数,请使用System.EnvironmentgetArgs

使用do-notation:

import System.Environment (getArgs)

main :: IO ()
main = do
  args <- getArgs
  print args

(注意,使用print而不是putStrLn,因为args具有[String]的类型,而不是String。)

© www.soinside.com 2019 - 2024. All rights reserved.