変数と関数

変数の定義

  • 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.