我有一些非常基础和简单的函数,被几个 .ml 文件共享:例如,警告,错误...我想知道,如何在一个共同的地方定义它们,而不是在每个 .ml 文件中重复它们的定义,并在必要时调用它们?这必须是一个模块吗?非常感谢!
在OCaml中,每个文件都定义了一个模块。例如,您可以将常见的定义放在: (* common.ml *) let error msg = ... let warn msg = ... 然后在其他文件中按照以下方式使用: ... Common.error "Naughty event!" ... 或者像这样:open Common ... error "Naughty event!" ...
.ml
文件需要编译才能在其他文件中打开/使用,那么实际上需要哪些类型的文件:.ml、.mli、.cmi、.cmx、.o
? - SoftTimur.cmi
文件以及.cmx
或.cmo
文件,具体取决于你是使用ocamlopt
还是ocamlc
。 - Victor Nicollet