首页 > 解决方案 > 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_string "\n"

问题是第 5 行的语法错误," ;;" 编译器说。

我知道已经存在这样做的功能,但我这样做是为了学习。

我阅读了官方的 Ocaml 文档,但我仍然没有得到语法。有人可以向我解释一下吗?

标签: ocaml

解决方案


您的get_int-binding 必须以表达式结尾。您可以在那里摆脱最后一个let-binding 并直接返回 int :

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

推荐阅读