我可以用F#中的属性声明相互递归的函数吗?

mav*_*vnn 3 f#

所以; 这段代码编译得很好(虽然我不建议运行它...):

let rec firstFunc () =
  secondFunc ()

and secondFunc () =
  firstFunc ()
Run Code Online (Sandbox Code Playgroud)

但!此代码不会:

let rec firstFunc () =
  secondFunc ()

[<CompiledName "SecondFunc">]
and secondFunc () =
  firstFunc ()
Run Code Online (Sandbox Code Playgroud)

有办法解决这个限制吗?

Pie*_*ann 7

您可以在之后添加属性and,它似乎编译正常.

let rec firstFunc () =
  secondFunc ()

and [<CompiledName "SecondFunc">] secondFunc () =
  firstFunc ()
Run Code Online (Sandbox Code Playgroud)