SML# - Tutorial/014-1 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

[ [[トップ |Tutorial]]| [[目次|Tutorial/000]] | [[前ページ|Tutorial/014]] | [[ 次ページ |Tutorial/015]] ]
----
!int型定数
以下の表記法が定義されている。
||!種類||!表記法||!例||
||正十進数表現||通常の数字表記||123||
||16進数表現||0x<d...d>、各dは0から9またはA(a)からF(f)の文字||0xffff||
||負の定数||~<正の定数表記>||~123, ~0xffff||

!int型の演算(対話型環境)
SML#の対話型環境で以下の演算が定義されているので、特に宣言なく使用できる。
||!式||!意味||
||a + b ||加算||
||a - b ||減算||
||a * b ||乗算||
||a div b ||除算||
||a mod b ||aをbで割ったあまり||
||abs a ||aの絶対値 ||
||a < b ||a < bの時true||
||a > b ||a > bの時true||
||a <= b ||a <= bの時true||
||a >= b ||a >= bの時true||

!int型の演算(ライブラリ関数)
上記を含む種々の関数がライブラリとして提供されている.
C言語では,
#include <lib.h>
の構文を使ってlibという名前のライブラリの使用を宣言するが,MLでは,
Libという名前のライブラリの中のnameという名前の関数は,
Lib.name
の形で使用できる.以下は,その例である.
# Int.toString 99;
val it = "99" : string
ここで使ったIntは,int型の種々の操作が定義された基本ライブラリである.
以下の宣言をSML#で実行してみることで,基本ライブラリにどのような関数
が定義されているかを知ることができる.
structure A = Int;
これはライブラリモジュールに別名Aを付ける構文である.A自身はこの場合は
何でもよい.この宣言を実行すると,以下のような情報を表示する.
# structure A = Int;
structure A
: sig
     type int = int
     val * : int * int  -> int
     val + : int * int  -> int
     val - : int * int  -> int
     val < : int * int  -> bool
     val <= : int * int  -> bool
     val > : int * int  -> bool
     val >= : int * int  -> bool
     val ~ : int  -> int
     val abs : int  -> int
     val compare : int * int  -> order
     val div : int * int  -> int
     val fmt : StringCvt.radix  -> int  -> string
     val fromInt : int  -> int
     val fromLarge : LargeInt.int  -> int
     val fromString : string  -> int option
     val max : int * int  -> int
     val maxInt : int option
     val min : int * int  -> int
     val minInt : int option
     val mod : int * int  -> int
     val precision : int option
     val quot : int * int  -> int
     val rem : int * int  -> int
     val sameSign : int * int  -> bool
     val scan :
       ['a . StringCvt.radix  
               -> (char, 'a) StringCvt.reader  
               -> (int, 'a) StringCvt.reader]
     val sign : int  -> int
     val toInt : int  -> int
     val toLarge : int  -> LargeInt.int
     val toString : int  -> string
   end
多くのものは,表示される型情報と名前から,ほぼその使い方と意味が理解で
きるであろう.
----
[ [[トップ |Tutorial]]| [[目次|Tutorial/000]] | [[前ページ|Tutorial/014]] | [[ 次ページ |Tutorial/015]] ]