可能是重复的问题:
[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
可能是重复的问题:
[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
你还可以使用 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
let rec f g x =
if x>0 then
g (x-1)
else
x
let rec g x =
if x>0 then
f g (x-1)
else
x
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