OCaml Несвязанное значение enf

У меня есть вопрос об использовании локальной функции в глобальной функции.
Я пытался написать функцию, которая появляется на картинке, но ошибка сказала

несвязанное значение f

Странно, что эта ошибка происходит. Это не должно появиться, потому что я определил определение функции enf в affichage,

Вот изображение соответствующей части моего кода:

нажмите здесь, чтобы увидеть изображение программы

В чем может быть причина этой ошибки?

1 ответ

enf не определяется, когда affichage определяется, так как тело affichage относится к enfэто приводит к ошибке несвязанного значения. Чтобы иметь взаимно рекурсивные функции, вам нужно что-то в форме

let rec affichage (* ... *) =
  (* ... *)
and enf (* ... *) =
  (* ... *)
in
  (* ... *)
;;
Другие вопросы по тегам