在 Ocaml 中应该在哪里定义通用函数?

3
我有一些非常基础和简单的函数,被几个 .ml 文件共享:例如,警告,错误...我想知道,如何在一个共同的地方定义它们,而不是在每个 .ml 文件中重复它们的定义,并在必要时调用它们?这必须是一个模块吗?
非常感谢!
1个回答

5

在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
1
你需要.cmi文件以及.cmx.cmo文件,具体取决于你是使用ocamlopt还是ocamlc - Victor Nicollet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接