可能重复:
如何让两个方法互相调用?
我需要编写两个相互调用的函数.(里面的条件 - 所以他们最终会停止)
let x () : int =
...
if (------) then
y num
...
let y () : int =
...
if (------) then
x num
...
Run Code Online (Sandbox Code Playgroud)
问题是,据我所知,F#按外观顺序评估函数.所以写这个会产生编译错误......
有没有办法解决这个问题?那么这两个功能会相互了解吗?
您需要相互递归函数的and关键字:
let rec x num =
...
if (------) then
y num
...
and y num =
...
if (------) then
x num
...
Run Code Online (Sandbox Code Playgroud)