ocaml - ошибка несвязанного значения в функции сопоставления рекурсивного списка
Я скопировал рекурсивную функцию сопоставления списков со слайда вводного курса ocaml.
let rec fac n = match n with
0 -> 1
| _ -> n * fac(n-1);;
fac 3;;
Я получаю: "Ошибка: несвязанное значение fac"
Почему это?
1 ответ
Использование MX tuareg-eval-buffer в emacs дает:
OCaml version 4.02.3
# let rec fac n = match n with
0 -> 1
| _ -> n * fac(n-1);;
fac 3;;
val fac : int -> int = <fun>
# - : int = 6
#
Вы, вероятно, запускаете MX tuarge-eval-region только с fac 3
выбран таким образом, функция никогда не была определена.