17.4.14 原始プログラムの読み込み

ではキーボードからの入力のかわりに,ファイルから変数や関数の定義を読み込んでみましょう.

Ocamlでは, quadratic.ml というファイルから定義を読み込むには #use "quadratic.ml";; return2 と入力します.

本当にファイルから読み込んだことが分かるように,以下では

# #quit;; (* ocaml処理系を終了します *) promptls quadratic.ml return2 (* quadratic.mlというファイルがあることを確認します *) quadratic.ml (* このように表示されればOKです *) promptocaml return2 (* ocaml処理系を再起動します *)   Objective Caml version 3.08.0

# quadratic1(1.0,2.0,1.0) ;; return2 (* quadratic1という関数を使おうとすると… *) Toplevel input: # quadratic1(1.0,2.0,1.0);;   ^^^^^^^^^^ Unbound value quadratic1 (* そのような関数は無いというエラーになります *) # #use "quadratic.ml";; return2 (* quadratic.ml から定義を読み込みます *) val square : float -> float = <fun> val discriminant : float * float * float -> float = <fun> val quadratic1 : float * float * float -> float = <fun> val quadratic2 : float * float * float -> float = <fun> # quadratic1(1.0,2.0,1.0) ;; return2 (* もう一度 quadratic1 を使うと… *) - : float = -1 (* 今度は計算ができました *) #

これで関数の定義が多いときも心配なくなりましたね.