Ocaml语法非常奇怪

Ocaml语法非常奇怪,ocaml,Ocaml,我有一个Ocaml程序,它从键盘读取一行并返回一个int: let get_int () = print_string "Insert a number\n" ; let input = read_line() in let return__ = int_of_string( input ) ;; print_string "I'll print what you write : "; print_int ( get_int() ); print_s

我有一个Ocaml程序,它从键盘读取一行并返回一个int:

let get_int ()  =
print_string "Insert a number\n" ;
let input =  read_line() in
let return__ = int_of_string( input )
;;

print_string "I'll print what you write : ";
print_int ( get_int() );
print_string "\n"
问题是第5行的语法错误,“
”编译器说

我知道已经存在这样做的函数,但我这样做是为了学习

我阅读了官方的Ocaml文档,但仍然不懂语法。
有人能给我解释一下吗?

你的
get\u int
-绑定必须以表达式结束。您可以去掉最后一个
let
-绑定,直接返回int:

get_int()=
打印字符串“插入一个数字\n”;
让输入=读取中的行()
字符串输入的整数;;