変数と関数
変数の定義
- let 変数名 = 式
- 先頭の文字はアルファベットの小文字だけ
- 他の言語でいうところの定数に近い。つまり書き換える事ができません。(方法はあるみたい)
# let salestax = 1.05;; val salestax : float = 1.05 # 1000. *. salestax;; - : float = 1050. # let hello = "Hello";; val hello : string = "Hello" # hello ^ " World !!";; - : string = "Hello World !!"
関数の定義
- let 関数名 引数 ... = 式
- 先頭の文字はアルファベットの小文字だけ
- 関数の引数・返り値の型は型推論により決定される
- 実行時に引数の型チェックが行われる
関数の使用
- 関数名 引数 ...
# let salestaxcalc x = x *. 1.05;; val salestaxcalc : float -> float = <fun> # salestaxcalc 1000.;; - : float = 1050. # let salestaxDiscountCalc discount price = (price -. discount) *. 1.05;; val salestaxDiscountCalc : float -> float -> float = <fun> # salestaxDiscountCalc 100. 1000.;; - : float = 945.
ファイルからの関数読み込み
まずファイル
C:\ocaml\salestaxDiscountCalc.ml
(* 割引した後消費税を計算する *) let salestaxDiscountCalc discount price = (price -. discount) *. 1.05
読み込んで使う
# #use "c:\\ocaml\\salestaxDiscountCalc.ml";; val salestaxDiscountCalc : float -> float -> float = <fun> # salestaxDiscountCalc 100. 1000.;; - : float = 945.