访问OCaml记录

访问OCaml记录,ocaml,record,Ocaml,Record,如何使用在其他文件中定义的OCaml记录?例如,假设我有一个文件a.ml,其中定义了r记录: 类型r={ i:int; j:int; }; 还有一个文件b.ml,我想在其中使用r记录。大概是这样的: 让s={i=12;j=15;}显然不起作用-我知道这与访问定义了记录的模块有关,但我还没有正确的语法。在a.ml中定义的类型和值存在于模块a中。因此,您需要打开a(从而将a中的所有定义带入范围)或者将i和j分别称为A.i和A.j。啊,嗯,好的。。。对我来说,它不是这样工作的,因为我在做这样的事情:a

如何使用在其他文件中定义的OCaml记录?例如,假设我有一个文件a.ml,其中定义了r记录:

类型r={
i:int;
j:int;
};

还有一个文件b.ml,我想在其中使用r记录。大概是这样的:


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

在a.ml中定义的类型和值存在于模块a中。因此,您需要打开a
(从而将a中的所有定义带入范围)或者将
i
j
分别称为
A.i
A.j

啊,嗯,好的。。。对我来说,它不是这样工作的,因为我在做这样的事情:a.ml将保存记录定义,a.mli将不保存与该记录相关的任何内容,我试图从b.ml访问该记录。如何处理这种情况-在接口中定义记录?不管是哪种方式,谢谢你的回答。是的,要从其他文件使用的类型定义是接口的一部分,因此如果有mli文件,它们需要在mli文件中。