我想做这样的事情:
fun f () =
let
fun a() = b()
and
fun b() = a()
in
()
end
Run Code Online (Sandbox Code Playgroud)
其中a和b是明智的相互递归函数.但是,这给出了:
Error: syntax error: replacing AND with SEMICOLONRun Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
生成参数列表的最简单函数是什么?不难想出这样的功能,例如:
foo[n_] := Block[{A = {}, p = 2},
While[p < n, A = Append[A, p]; p = NextPrime[p]];
A]
Run Code Online (Sandbox Code Playgroud)
然而,这似乎过于混乱.我想做点什么
foo[n_] := Table[Prime[i], {i,2,???}]
Run Code Online (Sandbox Code Playgroud)
哪里??? 是指数NextPrime[n,-1].这可能吗?