Для одного из моих назначений мне нужно написать функцию в OCaml, которая принимает целочисленный аргумент и возвращает предыдущий целочисленный аргумент. Когда функция вызывается впервые, она просто возвращает ноль.
Тип должен быть:
val prev : int -> int = <fun>
Это то, что у меня пока есть:
let prev =
let x = ref 0 in
fun n ->
(Printf.printf "prev value: %i." !x);
(x := n)
;;
Я не могу выяснить, как просто вернуть предыдущее значение, а не печатать его. Я напечатал значение, чтобы убедиться, что оно обновляется, но я не понимаю, как сделать тип возвращаемого значения "int".
Любая помощь будет принята с благодарностью! Спасибо!