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