递归函数ocaml中的未绑定值

时间:2018-09-12 11:41:07

标签: ocaml

我正在尝试创建一个过滤器函数,该函数将一个函数作为参数和一个列表,并返回另一个带有过滤结果的列表。

let rec filter bool_func l r = 
    match l with
    | [] -> r
    | h::t -> if bool_func h then filter bool_func t (h::r)
    else filter bool_func t r in filter bool_func t [];;

1 个答案:

答案 0 :(得分:0)

关键字in与前一个let一起使用,以创建局部定义,以用于in之后的表达式。因此,您具有filter的局部函数定义,后跟表达式filter bool_func t。确实,在let之外,没有任何名为bool_funct的值(您正在向我们显示)。