我在 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]
任何帮助,将不胜感激。