OCaml-实现嵌套函数

OCaml-实现嵌套函数,ocaml,Ocaml,我想实现递归的嵌套函数。怎么做? 我在以下代码“预期有操作员”中遇到错误 这里,, lst=任何列表(例如[1;2;3]) f1如果元素在特征函数定义的集合中,则返回true的任何特征函数。(例如,设f1 x=(x模3==0&&x 当然,我们可以简化代码,但这不是问题所在。内部let rec应该是中的let rec。。中缺少部分。顺便说一句,确保代码正确缩进(出于可读性原因)。实际上,这是一个“代码检查”所以我认为当你可以只返回条件时,说“不要使用if-then-else返回true和false

我想实现递归的嵌套函数。怎么做? 我在以下代码“预期有操作员”中遇到错误

这里,, lst=任何列表(例如[1;2;3]) f1如果元素在特征函数定义的集合中,则返回true的任何特征函数。(例如,设f1 x=(x模3==0&&x
当然,我们可以简化代码,但这不是问题所在。

内部
let rec
应该是
中的
let rec
中缺少
部分。顺便说一句,确保代码正确缩进(出于可读性原因)。实际上,这是一个“代码检查”所以我认为当你可以只返回条件时,说“不要使用
if-then-else
返回
true
false
”是合适的。@RichN,这不是一个代码审查网站,有一个。但是我完全同意你关于
if-then-else
:)哈!我在“代码审查”之间切换“还有这个,我弄糊涂了。对不起,太吵了。
let powerset_cf f1 = if (let rec f lst = match lst with 
                                  [] -> true
                                  | h::t ->  if (f1 h) then (f t) 
                                             else false ) then true
                     else false;;
let powerset_cf f1 lst =
  let rec f lst = 
    match lst with
      | []   -> true
      | h::t ->  if f1 h then f t else false
  in
  if f lst then true else false
;;