嗨,我想在haskell中定义一个main函数,类似于java中的main函数
main :: String -> IO() main args = do putStrLn args
但是当我尝试运行程序时,这会给我一个错误。
Haskell程序的入口点的类型为IO (),而不是String -> IO ()。
IO ()
String -> IO ()
要获取命令行参数,请使用System.Environment的getArgs。
System.Environment
getArgs
使用do-notation:
import System.Environment (getArgs) main :: IO () main = do args <- getArgs print args
(注意,使用print而不是putStrLn,因为args具有[String]的类型,而不是String。)
print
putStrLn
args
[String]
String