(14-2) [ML] char型の定数と基本操作

char型の定数

char型の定数は

#"a"

の形式である,このように#"と"の間に文字を書くとその文字の定数となる,(#はプロンプトではなく式の一部である,)

# #"a";
val it = #"a" : char

文字以外に以下のエスケープ文字が書ける,

エスケープ文字意味
\a 警告 (ASCII 7)
\b バックスペース (ASCII 8)
\t タブ(ASCII 9)
\n 改行(ASCII 10)
\v 垂直タブ (ASCII 11)
\f フォームフィード(ASCII 12)
\r 復帰 (return) (ASCII 13)
\\^C 制御文字C
\\ 文字
\" 文字"
\ddd 数字dddに対応するアスキー文字

以下はこれら定数の例である,

# #"a";
val it = #"a" : char
# #"\n";
val it = #"\n" : char
# #"\010";
val it = #"\n" : char
# #"\\";
val it = #"\\" : char
# #"\^C";
val it = #"\^C" : char

(補足)\文字は,本チュートリアルに従いセットアップされた環境では,バックスラッシュとして表示されるはずである,

char型の基本演算(トップレベルの対話型環境で定義されているもの)

意味
ord a文字aのアスキーコード
chr aアスキーコードaを持つ文字
str a文字aを文字列データに変換
implode a文字aのリストを文字列に変換
explode a文字列aを文字のリストに変換
a < b文字の比較
a > b文字の比較
a <= b文字の比較
a >= b文字の比較

以下,簡単な使用例である,

# #"a";
val it = #"a" : char
# #"A";
val it = #"A" : char
# if #"a" > #"A" then "a is bigger" else "A is bigger";
val it = "a is bigger" : string
# chr(ord #"S" + (ord #"a" - ord #"A"));
val it = #"s" : Char.char
# explode "SML#";
val it = [#"S", #"M", #"L", #"#"] : char list

(補足)

  • chr(ord #"S" + (ord #"a" - ord #"A"))は,Sを小文字に変換している,まず,Sのコードをもとめ,そのコードに大文字と小文字のコードの差を足している,
  • [#"S", #"M", #"L", #"#"] は#"S", #"M", #"L", #"#" からなるリストである,このようにリストは[と]の中に要素を列挙する,リストは後で詳しく学ぶ,

char型の基本演算(ライブラリ関数)

char型のライブラリはCharである,この中身は,int型の場合同様,以下のようにしてプリントすることができる,

# structure A = Char;
structure A
: sig
    type char = char
    type string = String.string
    val < : char * char  -> bool
    val <= : char * char  -> bool
    val > : char * char  -> bool
    val >= : char * char  -> bool
    val chr : int  -> char
    val compare : char * char  -> order
    val contains : string  -> char  -> bool
    val fromCString : String.string  -> char option
    val fromString : String.string  -> char option
    val isAlpha : char  -> bool
    val isAlphaNum : char  -> bool
    val isAscii : char  -> bool
    val isCntrl : char  -> bool
    val isDigit : char  -> bool
    val isGraph : char  -> bool
    val isHexDigit : char  -> bool
    val isLower : char  -> bool
    val isPrint : char  -> bool
    val isPunct : char  -> bool
    val isSpace : char  -> bool
    val isUpper : char  -> bool
    val maxChar : char
    val maxOrd : int
    val minChar : char
    val notContains : string  -> char  -> bool
    val ord : char  -> int
    val pred : char  -> char
    val scan : ['a .(char, 'a) StringCvt.reader  -> (char, 'a) StringCvt.reader]
    val succ : char  -> char
    val toCString : char  -> String.string
    val toLower : char  -> char
    val toString : char  -> String.string
    val toUpper : char  -> char
  end
#

[ トップ | 目次 | 前ページ | 次ページ ]

Last modified:2007/05/07 02:15:02
Keyword(s):
References:[(15)[ML] 基本データ型と基本演算]