如何让2个函数在OCaml中相互调用

时间:2011-11-12 23:04:34

标签: recursion ocaml

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

1 个答案:

答案 0 :(得分:17)

这是and的用途:

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)