1-2. OCaml を使うための準備

起動と終了

情報科学類計算機システムには、OCaml がインストールされているので、 特に何もセットアップしなくても OCaml を起動できる。 起動コマンドは、小文字で ocaml であり、 これを,shell が動いている端末から起動すると、OCaml の対話モードにはいる。 (なお,emacs から便利に使う方法は,後述する。)
% ocaml
        Objective Caml version 3.11.1

# 1 + 2 * 3;;  
- : int = 7
# print_string "abc\n";;
abc
- : unit = ()
#
対話モードでは、ユーザの入力に応じて OCaml処理系が計算を行い、 結果の値とその型を表示する。(計算結果だけでなく、型も表示するところが、OCaml らしいところである。)

# はプロンプトであり、上記の最初の例では、1 + 2 * 3;; が入力であり、 7 が結果(値)、int がその型である。2つ目の例では、print_string "abc\n";; が入力であり、その実行の際に abc という文字列が表示される。 (実際には abc という文字列のあとに改行コードが出力されている。) この場合、計算結果は無意味な値 () であり、その型は unit である。

この2つの計算だけでも、「型」とは何か、- (マイナス)の記号は何だろう、等々の疑問がわいてきたと思うが、 それらは後述するか各自調べてもらうことにして、 ここでは、処理系の終了方法をチェックしておこう。

OCamlを終了したい時は、 正式には #quit ;; と入力するが、もっと簡単に、 control-D (control キーを押しつつ "D" を押す)を入力してもよい。 なお、shell から control-Z を入力することにより、 OCaml処理系を中断することもできるが、 多数の OCaml処理系プロセスを中断したままでいると、計算機に大きな負荷をかけてしまうことがある。

プログラムのファイルの作成と読み込み

上記のように、ちょっとしたテストの時には対話モードが良い。 一方、少し長いプログラムを書いて走らせるときには、 ファイルに書きこんで、 そのファイルを OCamlから読み込む(読み込みながら実行する)という方法が良い。 この読み込み操作も、対話モードから行う。 なお、OCamlプログラムを格納するファイルは、拡張子を .ml とすること。
# #use "myprogram.ml";;
# が2つ重なっていて読みにくいが、1つ目の # はOCamlプロンプトであり、そ のあとがユーザの入力である。つまり、 上記のものは、#use "myprogram.ml" というコマンドを入力したものである。 このようにすると、 (現在の directory の下にある)"myprogram.ml" というファイルを読み込み、上から順番に実行してくれる。 なお、絶対パスを記述することもできる。
# #use "/export/home/kam/ocaml/myprogram.ml";;

このファイル myprogram.ml には、OCaml の式を何個でも記述してよい。 ただし、計算がエラーとなる式が途中に1つでもあると、読み込みを終了してしまう。

区切りとしての ;; についての注意. 対話モードで入力するときは、 1つの式を入力し終わるごとに ;; (セミコロンを2つ連続)をタイプする必要があるのに対して、 ファイルにたくさんの式を続けて書く時には、 (もし、OCaml処理系が区切りを自動的に認識できるなら) ;; で区切る必要はない。 この理由により、本実験で提供するソースコードでは、;; で区切っていない式たちもときどき登場する。 このようなコードを、対話モードで直接入力してテストしようと思ったら、 当然、;; で区切る必要があるので注意されたい。

emacs からの便利な使い方

emacs から OCamlプログラムの編集をするために便利なツールとして、tuareg-mode というものがある。

進んだ使い方


トップ, 前へ, 次へ.

亀山 幸義