Синтаксис Ocaml довольно странный - PullRequest
0 голосов
/ 21 июня 2020

У меня есть эта программа в 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, но до сих пор не понимаю синтаксиса. Кто-нибудь, кто мог бы мне что-то объяснить?

1 Ответ

1 голос
/ 21 июня 2020

Ваша привязка get_int должна заканчиваться выражением. Вы можете избавиться от последней привязки let и напрямую вернуть int:

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