2

可能重复:
如何让两个方法互相调用?

我需要编写 2 个相互调用的函数。(里面有条件 - 所以他们最终会停止)

let x () : int =
   ...
   if (------) then
     y num
   ...


let y () : int =
   ...
   if (------) then
     x num
   ...

问题是,据我了解,F# 按出现顺序评估函数..所以写这个会产生编译错误......

有没有办法解决这个问题?那么这两个函数会互相认识吗?

4

1 回答 1

6

您需要相互递归函数and的关键字:

let rec x num =
   ...
   if (------) then
     y num
   ...

and y num =
   ...
   if (------) then
     x num
   ...
于 2012-06-05T16:22:22.343 回答