首页 > 解决方案 > 我必须创建一个带有 2 个参数的函数:一个字符串对列表和一个用于布尔值的字符串函数并返回一个映射

问题描述

我必须创建一个带有 2 个参数的函数:一个字符串对列表和一个用于布尔值的字符串函数,并返回一个映射,该映射由该对中的第一个位置 x 作为键和函数应用于第二个位置的值组成返回真,我有这种错误,但我认为这是函数本身错误。你能帮帮我吗?语法错误:')' 预期,突出显示的 '(' 可能不匹配

 let funct list f=
    List.fold_left(fun acc x->let transform x=
    (if f x then (try (MS.find x acc) with Not_found ->x) in
     MS.add x (transform x) acc else acc) ) MS.empty list;;

标签: ocaml

解决方案


你提出问题的方式,这应该有效。

let mapIt str_p p =
  List.map p str_p

您基本上要求将一个列表映射到另一个列表,这是通过 List 的映射完成的。

注意:您所说的地图是指模块地图吗?像下面这样?

module MyUsers = Map.Make(String)

推荐阅读