F#:相互递归函数

rys*_*ama 12 recursion f# mutual-recursion

可能重复:
[F#]如何让两种方法相互呼叫?

大家好,

我有一个场景,我有两个功能,可以从相互递归中受益,但我不确定如何在F#中做到这一点

我的场景不像下面的代码那么简单,但我想得到类似于编译的东西:

let rec f x =
  if x>0 then
    g (x-1)
  else
    x

let rec g x =
  if x>0 then
    f (x-1)
  else
    x
Run Code Online (Sandbox Code Playgroud)

Str*_*ger 27

你也可以使用let rec... and表格:

let rec f x =
  if x>0 then
    g (x-1)
  else
    x

and g x =
  if x>0 then
    f (x-1)
  else
    x
Run Code Online (Sandbox Code Playgroud)