text p1-p29
MLの扱うデータは、いくつかの型 type に分類される。
数(整数 int 、実数 real)、文字(文字列、文字定数)、真理値(true,false)、その他
ここでは、当面 整数と真理値(boolean)のみ扱うこととする。
text p.30-34
あるデータに名前を付けるには valを用いる。
val pi=3.14;
val name = "Osawa";
text p.35-p.40
関数の定義は、
fun f p = body ;
f : function name
p : parameter(引数)
b : body(関数本体)
例)fun double x = x * 2 ;
double 2; => 4
(注)f p は f(p)と同じ。
MLは型が重要であり、pの型を指定する必要があるとき
(指定しないとエラーがでるとき)は、
fun square x : real = x * x;
また、bodyの型(関数が返す値の型)を指定するときは、
fun square x = x * x : real;
とかく。
fun double x = x * 2;
でエラーがでなかったのは、2がint型であることから、
引数をint型とMLが推定できたため。
仮に、 fun double x = x * 2.0;
とすると、real型と推定するはず。
型についての注意。real型で宣言すると、整数をパラメーターに
入力すると、型が違うと表示される。
real type と int type は別物の扱い。
(なぜか、要研究)
最終更新:2007年03月06日 09:38