递归函数ocaml中的未绑定值

问题描述 投票:0回答:1

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

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 [];;
ocaml
1个回答
0
投票

关键字in与之前的let一起生成本地定义,以便在in之后的表达式中使用。因此,您有filter的本地函数定义,后跟表达式filter bool_func t。事实上,在let之外,没有任何值(你向我们展示)名为bool_funct

© www.soinside.com 2019 - 2024. All rights reserved.