如何在 Ocaml 中正确使用 stringmap fold?

How to use stringmap fold correctly in Ocaml?

我正在尝试使用 Stringmap fold 从映射中创建键值对元组列表,但在响应中出现语法错误。

let testlist = Stringmap.fold (fun k v -> (k,v)) mymap []

(假设 mymap 已经定义)

我的终端显示

File "myfile.mll", line 47, characters 0-3:
Error: Syntax error
make: *** [myfile] Error 2

但我不知道我的问题是什么(我也希望有更多的信息可以帮助我)。

mll 文件有特殊规则,不允许您在任何地方使用 OCaml 语法。有一些特殊的位置,比如在序言中,您可以在其中添加 OCaml 定义。有关更多详细信息,请参阅 documentation

P.S。您的定义在语法上是有效的 OCaml,没问题。