Recursion 如何使用OCaml创建尾部递归函数?语法建议及;需要解释

Recursion 如何使用OCaml创建尾部递归函数?语法建议及;需要解释,recursion,ocaml,tail,Recursion,Ocaml,Tail,这是OCaml中的主要代码,用于带尾部递归的Sigma函数 let sigma_tail_rec term a next b = let rec iter a result = if "A" then "B" else iter "C" "D" in iter a 0 在那里,我不知道如何将填入,因此无法编译 有人帮我把填到“…”吗 我试过这样做 let sigma_tail_rec term a next b = let rec iter a result =

这是OCaml中的主要代码,用于带尾部递归的Sigma函数

let sigma_tail_rec term a next b  =
 let rec iter a result = 
   if "A" then "B"
   else iter "C" "D"
 in iter a 0
在那里,我不知道如何将
填入
,因此无法编译

有人帮我把
填到“…”吗

我试过这样做

let sigma_tail_rec term a next b  =
 let rec iter a result = 
   if a>b then result+1
   else iter a+1 result+a
 in iter a 0

我不知道iter a 0中的“
”语法是什么意思

我可以解释iter a 0中的

OCaml中递归局部函数的定义如下所示:

let rec
fun参数
=
定义
表达式中

在表达式中,可以调用函数fun,该函数由其定义定义

sigma\u tail\u rec
的框架定义使用一个名为
iter
的局部递归函数,该函数包含两个参数。表达式(给出
sigma\u tail\u rec
的总值)是
iter a 0

没有关于这项任务的更多信息,很难说得更多。一般来说,我认为您需要调用
术语
(这可能决定您何时到达计算结束)和
下一步
(这可能会生成一个新的值进行处理)。恐怕还有很多事情要做