2011-06-25 18 views
3

我有幾個.ml文件共享一些非常基本和簡單的功能:例如,警告,錯誤...我想知道,而不是在每個.ml文件中重複他們的定義,如何在一個共同的地方定義它們,並在必要時打電話給他們?它是否一定是一個模塊?在Ocaml中定義常用功能的位置?

非常感謝!

回答

5

OCaml中的每個文件都定義了一個模塊。舉例來說,你可以把你常用的定義中:

(* common.ml *) 
let error msg = ... 
let warn msg = ... 

,然後將它從其他文件,如:

... Common.error "Naughty event!" ... 

或者這樣:

open Common 

... error "Naughty event!" ... 
+0

非常感謝你。 ..另一個問題是,如果這個'.ml'文件需要編譯爲在其他文件中打開/使用,那麼實際需要哪種類型的文件:'.ml,.mli,.cmi,.cmx,.o'? – SoftTimur

+1

根據你使用ocamlopt還是ocamlc(分別),你需要'.cmi'和'.cmx'或'.cmo'。 –