Ocaml 语法很奇怪
Ocaml syntax quite weird
我在 Ocaml 中有这个程序,它从键盘读取一行和 returns 一个 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_int
-绑定必须以表达式结尾。你可以去掉最后的 let
-binding 并直接 return int:
let get_int () =
print_string "Insert a number\n";
let input = read_line () in
int_of_string input;;
我在 Ocaml 中有这个程序,它从键盘读取一行和 returns 一个 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_int
-绑定必须以表达式结尾。你可以去掉最后的 let
-binding 并直接 return int:
let get_int () =
print_string "Insert a number\n";
let input = read_line () in
int_of_string input;;