在Ocaml中使用"和"表示多个相互递归函数

Sol*_*ace 3 recursion ocaml functional-programming ml

所以我在OCaml中有三个功能

let my_A = my_C
let my_B = my_A
let my_C = my_B
Run Code Online (Sandbox Code Playgroud)

函数A调用函数C.函数B调用函数A.函数C调用函数B.

我尝试使用"和"使它们相互递归(因此它们可以相互调用),如:

let my_A = my_C
and
my_B = my_A
and
my_C = my_B
Run Code Online (Sandbox Code Playgroud)

但它说

"未绑定的值my_C in __"

它基本上是说:"嘿,你不能打电话my_Cmy_A",但我不明白为什么?我不允许将三个功能链接在一起吗?

Jef*_*eld 7

你必须说let rec ... and ... and ....你没有rec.