3
我有幾個.ml
文件共享一些非常基本和簡單的功能:例如,警告,錯誤...我想知道,而不是在每個.ml
文件中重複他們的定義,如何在一個共同的地方定義它們,並在必要時打電話給他們?它是否一定是一個模塊?在Ocaml中定義常用功能的位置?
非常感謝!
我有幾個.ml
文件共享一些非常基本和簡單的功能:例如,警告,錯誤...我想知道,而不是在每個.ml
文件中重複他們的定義,如何在一個共同的地方定義它們,並在必要時打電話給他們?它是否一定是一個模塊?在Ocaml中定義常用功能的位置?
非常感謝!
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
根據你使用ocamlopt還是ocamlc(分別),你需要'.cmi'和'.cmx'或'.cmo'。 –