在OCaml中的模块中相互调用的函数

DCM*_*xxx 3 recursion ocaml module call

我有一个关于ocaml的问题,我是初学者:-)

这是我正在尝试做的一个例子:(我知道这是无意义的但它不是我真正的代码,它只是一个例子)

let func a b = a
let func2 a b = b

let func_a a b =
    if b < 0 then
       func_b b a
    else
       func a b

let func_b a b =
    if a < 0 then
       func2 a b
    else
       func_a b a
Run Code Online (Sandbox Code Playgroud)

问题是: Unbound value func_b in the first "if" in func_a...

如果有人可以帮忙吗?

编辑:我理解为什么这是未绑定的,但我不知道如何解决它.

非常感谢!

马克斯

pad*_*pad 5

关键字是相互递归的函数:

let func a b = a
let func2 a b = b

let rec func_a a b =
    if b < 0 then
       func_b b a
    else
       func a b

and func_b a b =
    if a < 0 then
       func2 a b
    else
       func_a b a
Run Code Online (Sandbox Code Playgroud)