我正在尝试创建一个过滤器函数,该函数将一个函数作为参数和一个列表,并返回另一个带有过滤结果的列表。
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 [];;
答案 0 :(得分:0)
关键字in
与前一个let
一起使用,以创建局部定义,以用于in
之后的表达式。因此,您具有filter
的局部函数定义,后跟表达式filter bool_func t
。确实,在let
之外,没有任何名为bool_func
或t
的值(您正在向我们显示)。