我需要编写两个相互调用的函数。 (里面的条件 - 所以他们最终会停止)
let x () : int =
...
if (------) then
y num
...
let y () : int =
...
if (------) then
x num
...
问题在于,据我所知,F#按外观顺序评估函数..所以写这个会产生编译错误......
有没有办法解决这个问题? 那么这两个函数会相互了解吗?
答案 0 :(得分:6)
您需要mutually-recursive functions的and
关键字:
let rec x num =
...
if (------) then
y num
...
and y num =
...
if (------) then
x num
...