4

我正在处理多个文件,并且我遇到了一个可变字段的问题。 在file1.ml,我宣布:具有多个文件的记录的可变字段

type mytype = { 
    mutable numbers : int list; 
} 

所以,在file2.ml,我有型MYTYPE的元素。但是,当我试图使:

myElement.numbers 

将返回以下错误:错误:未绑定的记录字段标签号码。

谢谢,任何帮助,欢迎。

+0

一种方式它是你定义的是没有记录,但记录的选择。所以当你使用选择器时,你必须声明它的完整路径。 – lebowski

回答

5

使用来自file2的完全合格的名称:myElement.File1.numbers

或添加open File到您的文件。

,或者使用本地模块打开想let open File2 in myElement.numbers

+0

与第一个选项一起工作!但是,我忘了解释我的File1.ml有一个模块,myType插入到“myModule”中。我怎样才能解决它与“打开文件”? “打开myModule”? –

+2

您应该可以使用'打开File1.myModule'。从风格上看,在代码中只有少数全局使用'open'是很好的做法。否则,你必须努力工作以保持你的名字空间没有冲突的名字。如果你刚刚开始使用OCaml,你可以在后期担心。 –

+2

请注意,这个“问题”应该随着未来版本的OCaml消失(上次我尝试过时,已经在开发树中运行代码)。 – didierc

相关问题