ocaml中的函数

ocaml中的函数,ocaml,Ocaml,我尝试创建一个包含两个参数的函数:字符串列表和函数String.contains和returno集合,它们由函数字符串中返回true的字符串组成。contains和我得到以下错误: This expression has type S_String.t = Set.Make(String).t but an expression was expected of type S_String.elt list 这就是我所尝试的: let f lista= List.fold_left

我尝试创建一个包含两个参数的函数:字符串列表和函数
String.contains
和return
o
集合,它们由函数字符串中返回true的字符串组成。contains和我得到以下错误:

This expression has type S_String.t = Set.Make(String).t
       but an expression was expected of type S_String.elt list
这就是我所尝试的:

let f lista= List.fold_left(fun rez x -> if String.contains x 'e' then S_String.add x rez else rez) lista S_String.empty;;

List.fold_left
将初始值作为第二个参数,将列表作为第三个参数。你把它们倒过来了