如何在OCaml中使用assert?

如何在OCaml中使用assert?,ocaml,assert,Ocaml,Assert,我正在尝试学习OCaml,但在断言语句方面遇到了问题。在解释器中,我可以使用它: Zameers-MacBook-Air:~ zmanji$ ocaml OCaml version 4.01.0 # let x = 1;; val x : int = 1 # assert(x > 2);; Exception: Assert_failure ("//toplevel//", 1, 0). # ^D 但是,当我将代码放入一个如下所示的文件中时: let x = 1 ass

我正在尝试学习OCaml,但在断言语句方面遇到了问题。在解释器中,我可以使用它:

Zameers-MacBook-Air:~ zmanji$ ocaml
        OCaml version 4.01.0

# let x = 1;;
val x : int = 1
# assert(x > 2);;
Exception: Assert_failure ("//toplevel//", 1, 0).
# ^D
但是,当我将代码放入一个如下所示的文件中时:

let x = 1
assert(x > 2)
我得到以下错误:

Zameers-MacBook-Air:Q4 zmanji$ ocaml test.ml
File "test.ml", line 2, characters 0-6:
Error: Syntax error

我做错了什么?

如果你把
在文件中它将工作。如果没有这些,它在语法上就没有意义。表达式
1
后跟关键字
assert
没有意义

我并不特别喜欢使用
在实际代码中(不在顶层,即解释器)。如果你想避免它,你可以写

let x = 1
let () = assert (x > 2)