递归 – 如何让两个函数在OCaml中相互调用

我希望在OCaml中有2个不同的递归函数,其中每个函数可以调用另一个函数.它不起作用,因为声明为1st的那个不能调用声明为2nd的那个.有没有办法让它工作,而不将两个功能合并为1?
这是什么和适用于:

let rec f x = if x < 2 then 1 else x * g (x - 1)
and g x = if x < 2 then 1 else x * f (x - 1)

转载注明原文:递归 – 如何让两个函数在OCaml中相互调用 - 代码日志