テクストとしては、
http://www.pllab.riec.tohoku.ac.jp/smlsharp/smlIntroSlidesJP.pdf
を使用することとする。

text p1-p29

  • 型 type
MLの扱うデータは、いくつかの型 type に分類される。
数(整数 int 、実数 real)、文字(文字列、文字定数)、真理値(true,false)、その他

ここでは、当面 整数と真理値(boolean)のみ扱うこととする。

text p.30-34
  • 変数 variable
 あるデータに名前を付けるには valを用いる。
 val pi=3.14;
 val name = "Osawa";

text p.35-p.40
  • 関数 function
 関数の定義は、
 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 は別物の扱い。

(なぜか、要研究)
名前:
コメント:

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2007年03月06日 09:38