访问OCaml记录

hyp*_*ean 5 ocaml record

如何使用我在其他文件中定义的某些OCaml记录?比方说,我有一个文件a.ml,我在其中定义了r记录:

type r = { i: int; j: int; };

和一个文件b.ml,我想在其中使用r记录.像这样的东西:

let s = {i = 12; j = 15;} 显然不起作用 - 我知道它与访问定义记录的模块有关,但我还没有正确的语法.

sep*_*p2k 8

在a.ml规定的类型和值活在模块A.所以,你需要或者open A(从而使所有的定义从A到范围)或参考i,并jA.iA.j分别.

  • 是的,要从其他文件中使用的类型定义是接口的一部分,因此如果有的话,它们必须位于mli文件中. (2认同)