【发布时间】:2020-10-18 20:27:42
【问题描述】:
假设我希望创建一个 OCaml 程序,该程序接受一个整数列表并创建第一项的总和,第二项的三倍,第三项的两倍,依此类推..
let rec doubler some_list =
match some_list with
| [] -> 0;
| head::tail -> (head * 2) + (tripler tail);;
let rec tripler some_list =
match some_list with
| [] -> 0;
| head::tail -> (head * 3) + (doubler tail);;
let maths_stuff some_list =
doubler some_list;;
let foo = maths_stuff [1;2;3;4;5;6] (* Should be 54 *)
目前我收到 Error: Unbound value tripler 错误,因为 OCaml 不知道它是什么,但我无法重新排序这两个函数,而不会遇到与 doubler 相同的问题。
在两个函数之间指定循环依赖的语法是什么?我在 Google 上发现的只是在构建过程中讨论模块之间的循环依赖关系,这不是我想要的。
许多 TIA
【问题讨论】: