如何退出程序?

UnS*_*Sat 4 ocaml

如果输入参数不符合预期,我想退出程序.我该怎么做?以下是我的尝试.

let () =
  if ((Array.length Sys.argv) - 1) <> 2 then                                                                                                                                              
    exit 0 ; ()                                                                                                                                                                           
  else
    ()
Run Code Online (Sandbox Code Playgroud)

谢谢.

cam*_*ter 5

exit n是退出程序的正确方法,但您的代码有语法错误.if ... then exit 0; ()被解析为(if ... then exit 0); ().因此,您会遇到语法错误else,因为它未正确配对then.

你应该写:

let () =
  if ((Array.length Sys.argv) - 1) <> 2 then begin                                                                                                                                           
    exit 0 ; ()                                                                                                                                                                           
  end else
    ()
Run Code Online (Sandbox Code Playgroud)

或简单地说,

let () = if Array.length Sys.argv - 1 <> 2 then exit 0
Run Code Online (Sandbox Code Playgroud)