OCaml入門の第一歩として、変数や関数の定義をしてみる。
まずOCamlは、CやJAVAのようにソースコードを何行も書いてそれを一気にコンパイルすると言った形を取らず、 命令を書いたらそれが一行一行実行される。(正確には;;と打つたびに実行される)
なので、関数名や変数名が重複すると、2回目以降で定義した時に上書きされてしまう。だが、これはデバッグなんかを簡単に出来るので慣れてしまえば逆に便利だ
まずは変数の定義と四則演算
浮動小数点を扱いたい時は
また、円周率の計算は次の式でできる。
関数の定義も同じletを使って行える。
また、
まずOCamlは、CやJAVAのようにソースコードを何行も書いてそれを一気にコンパイルすると言った形を取らず、 命令を書いたらそれが一行一行実行される。(正確には;;と打つたびに実行される)
なので、関数名や変数名が重複すると、2回目以降で定義した時に上書きされてしまう。だが、これはデバッグなんかを簡単に出来るので慣れてしまえば逆に便利だ
まずは変数の定義と四則演算
# let a = 7;; val a : int = 7 # let b = 5;; val b : int = 5 # a + b;; - : int = 12 # a - b;; - : int = 2 # a * b;; - : int = 35 # a / b;; - : int = 1 # a mod b;; - : int = 2
浮動小数点を扱いたい時は
# let c = 2.5;; val c : float = 2.5 # let d = 0.2;; val d : float = 0.2 # c +. d;; - : float = 2.7 # c -. d;; - : float = 2.3 # c *. d;; - : float = 0.5 # c /. d;; - : float = 12.5のように演算子にも.をつける必要がある。もし、それを書き忘れたら
# c + d;; This expression has type float but is here used with type intと即座にエラーが出て、コンパイルエラーで何行目が・・・のようにならずに違えた瞬間に教えてくれる。
また、円周率の計算は次の式でできる。
# let pi = 4.0 *. atan(1.0);; val pi : float = 3.14159265358979312
関数の定義も同じletを使って行える。
# let f a b x = a*x + b ;; val f : int -> int -> int -> int = <fun> # f 3 4 5;; - : int = 19と書くと、3つの整数を引数にとって、a*x +bを返す関数が定義できる。
また、
# let f2 = f 2 3;; val f2 : int -> int = <fun> # f2 2;; - : int = 7のように、関数を使って関数を定義することも出来る。f2は、ひとつの整数を引数にとり、2*x+3を返す関数である。

コメントする