2014-09-24 67 views
1

我是新來的這門語言/支持下的湖南省 我有一個簡單的問題,但我無法找到答案:如何創建一個模塊OCaml並使用它?

我想創建一個我的模塊,您可以輸入OCaml的簡單功能/任務,如以下

let rec gcd (m, n) = if m = 0 then n 
   else gcd (n mod m, n);; 
  
let one = 1;; 
let two = 2;; 

使用這些函數來其他程序OCaml的

+0

也請參見http://計算器。 COM /問題/ 22028151 /獨立編譯-的-ocaml的模塊 – 2014-09-27 21:58:41

回答

1

每個OCaml的源文件形成一個命名一樣的文件模塊(具有第一字符大寫)。所以一個方式做你想要的是有一個名爲(說)numtheory.ml文件:

$ cat numtheory.ml 
let rec gcd (m, n) = if m = 0 then n 
    else gcd (n mod m, n) 

let one = 1 
let two = 2 

這形成了一個名爲Numtheory模塊。您可以編譯它並鏈接到項目中。或者你可以編譯和OCaml的頂層使用它:

$ ocamlc -c numtheory.ml 
$ ocaml 
     OCaml version 4.01.0 

# #load "numtheory.cmo";; 
# Numtheory.one;; 
- : int = 1 
# Numtheory.gcd (4, 8);; 
- : int = 8 

(對於它的價值,這看起來不像GCD的正確定義。)