標準の関数を利用する

 

OCamlには、様々な関数やライブラリが標準で用意されています。たとえば、整数を浮動小数に変換する関数float_of_intがあります。関数を呼び出すには、その関数の名前と引数を並べて書けばOKです。

 

# float_of_int 123 ;;

- : float = 123.

# float_of_int (3 + 7) ;;

- : float = 10.

 

整数を画面に表示する関数print_intのように、単に値を返すのではなく副作用を起こす関数もあります(このためにMLは、副作用のないHaskellと違って、「純粋でない」関数型言語と言われます)。

 

# print_int 12345 ;;

12345- : unit = ()

 

print_int()という値を返します。これはユニットと呼ばれる値で、型unitを持ち、特に値がないときにダミーの値として使われます。

 

ユニットは返値だけでなく、引数として使われることもあります。たとえば、関数print_newlineは、引数としてユニットを受け取ると、副作用として改行を出力し、結果としてユニットを返します。引数も返値も特に要らないので、どちらもダミーの値としてユニットを使っているわけです。

 

# print_newline () ;;

 

- : unit = ()

 

このような標準の関数についてのマニュアルは、英語がhttp://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html、日本語訳がhttp://ocaml.jp/archive/ocaml-manual-3.06-ja/libref/Pervasives.htmlにあります。たとえば、平方根を計算する関数はsqrt、文字列を画面に表示する関数はprint_stringであることがわかります。exception(例外)とかreference(参照)とか、まだ説明していない言葉もありますが、とりあえず無視して結構です。

 

次へ進む