"and" 用于Ocaml 中的多个相互递归函数
Use of "and" for multiple mutual recursive functions in Ocaml
所以我在 OCaml 中有三个函数
let my_A = my_C
let my_B = my_A
let my_C = my_B
函数A调用函数C,函数B调用函数A,函数C调用函数B。
我尝试使用 "and" 使它们相互递归(因此它们可以相互调用),如:
let my_A = my_C
and
my_B = my_A
and
my_C = my_B
但是它说
"unbound value my_C in line __"
基本上是说"hey you can't call my_C
in my_A
",但我不明白为什么?我不能将三个函数链接在一起吗?
你必须说let rec ... and ... and ...
。你没有 rec
.
所以我在 OCaml 中有三个函数
let my_A = my_C
let my_B = my_A
let my_C = my_B
函数A调用函数C,函数B调用函数A,函数C调用函数B。
我尝试使用 "and" 使它们相互递归(因此它们可以相互调用),如:
let my_A = my_C
and
my_B = my_A
and
my_C = my_B
但是它说
"unbound value my_C in line __"
基本上是说"hey you can't call my_C
in my_A
",但我不明白为什么?我不能将三个函数链接在一起吗?
你必须说let rec ... and ... and ...
。你没有 rec
.