【发布时间】:2013-11-15 06:45:51
【问题描述】:
我在 Ocaml 中编写了这个函数,但我想编写相同的东西,首先应用尾递归,然后 fold_left。
let rec check fore list =
match list with
| [] -> [] | h :: t ->
if fore h
then h :: check fore t
else check fore t ;;
这是我到目前为止所做的。它返回一个大于给定参数的列表(即最初给定列表时)。示例:check (fun a -> a >= 6 )[5;4;8;9;3;9;0;2;3;4;5;6;61;2;3;4] 返回# - : int list = [8; 9; 9; 6; 61]
任何帮助将不胜感激。
【问题讨论】:
标签: recursion functional-programming ocaml tail-recursion