Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell中的分析错误_Haskell_Parse Error - Fatal编程技术网

Haskell中的分析错误

Haskell中的分析错误,haskell,parse-error,Haskell,Parse Error,以下代码: import IO import System(getArgs) main = do args <- getArgs let l = length args if l == 0 putStrLn "foo" else putStrLn "bar" 导入IO 导入系统(getArgs) main=do args两个问题: 您缺少(请参阅(并接受))的部分中的 您缺少然后部分 所以它可能看起来像: import I

以下代码:

import IO
import System(getArgs)

main = do
    args <- getArgs
    let l = length args
    if l == 0
        putStrLn "foo"
    else
        putStrLn "bar"
导入IO
导入系统(getArgs)
main=do
args两个问题:

  • 您缺少(请参阅(并接受))的
  • 部分中的

  • 您缺少
    然后
    部分

  • 所以它可能看起来像:

    import IO import System(getArgs)
    
    main = do
        args <- getArgs
        let l = length args in
            if l == 0 then
                putStrLn "foo"
            else
                putStrLn "bar"
    
    导入IO导入系统(getArgs) main=do args两个问题:

  • 您缺少(请参阅(并接受))的
  • 部分中的

  • 您缺少
    然后
    部分

  • 所以它可能看起来像:

    import IO import System(getArgs)
    
    main = do
        args <- getArgs
        let l = length args in
            if l == 0 then
                putStrLn "foo"
            else
                putStrLn "bar"
    
    导入IO导入系统(getArgs) main=do
    args只是为了证明我对Mark答案的评论

    import System.Environment (getArgs)
    
    main :: IO ()
    main = do
        args <- getArgs
        let l = length args
        if l == 0
          then putStrLn "foo"
          else putStrLn "bar"
    

    (无耻地模仿。)

    为了证明我对马克答案的评论

    import System.Environment (getArgs)
    
    main :: IO ()
    main = do
        args <- getArgs
        let l = length args
        if l == 0
          then putStrLn "foo"
          else putStrLn "bar"
    

    (无耻地模仿。)

    do
    中,你实际上不需要
    中的
    之后的
    ;只需返回到
    do
    的缩进。请参见a
    do
    ,在a
    let
    之后,实际上不需要在
    中的
    ;只需返回到
    do
    的缩进。看见