型とリテラル
型は値をその種類に応じて分類したものです。 リテラルは値を直接表現する記法のことです。
整数型 (Int型)
Int型は32ビット長の符号付整数を表す型です。
Int型リテラル
整数リテラルは123
のように数字を並べて10進数で表現します。
整数リテラルを16進数で表現するには0x
または0X
で数値を始めます。
例えば0xff
は16進数整数リテラルです。他にも、0o
または0O
で
始まる8進数リテラル、0b
または0B
で始まる2進数リテラルが
利用できます。
浮動小数点数型 (Double型)
Double型は倍精度の浮動小数点数を表す型です。
Double型リテラル
Double型リテラルは3.14
のような小数表示、6.626e-34
のような指数表記
が可能です。
`
文字列型 (String型)
String型は文字列の型です。
String型リテラル
String型リテラルは"abc"
のように文字列をダブルクォーテーション
で文字列を囲んで表します。
ダブルクォーテーション自体や特殊文字を表すために、 以下のエスケープシーケンスが定義されています。
エスケープシーケンス | 意味 |
---|---|
\' |
単一引用符 |
\" |
二重引用符 |
\\ |
円記号 |
\0 |
ヌル |
\a |
警告 |
\b |
バックスペース |
\f |
フォームフィード |
\n |
改行 |
\r |
キャリッジリターン |
\t |
水平タブ |
\uxxxx |
ユニコード文字 |
\v |
垂直タブ |
逐次文字列は@"\n"
のように文字列リテラルの先頭に@
を付けて表します。
逐次文字列内では、エスケープシーケンスは処理されません。
文字型 (Char型)
Char型は文字の型です。
文字リテラル
文字リテラルは'A'
のように文字をシングルクォーテーションで
文字を囲んで表します。文字列の内部同様エスケープシーケンスが
利用できます。
真偽値型 (Bool型)
Bool型は真偽値の型です。
真偽値リテラル
真であることを表すtrue
と偽であることを表すfalse
が
定義されています。
ユニット型 (()型)
()型はユニット型です、唯一の値()
を持ちます。
これは副作用をもつ関数の戻り値として利用します。
リスト型 ([α]型)
リストは同じ型の値を並べたデータ構造です。
要素の型をα
とすると、リストの型は[α]
と表します。
リストリテラル
リストリテラルは[1,2,3]
のように、
[
と]
の間に要素をカンマで区切って並べます。
空のリストは[]
で表します。
タプル型
タプルは異なる型の2つ以上の値を一つにまとめたデータ構造です。
例えば、整数型と文字列型の要素を格納可能なタプルの型は、
(Int, String)
のように、括弧で型名をカンマで区切って指定します。
タプルの長さに制限はありません。
タプルリテラル ((α, β, ...)型)
タプルリテラルは(1, "abc")
のように、
括弧の間に要素をカンマで区切って並べます。
関数型 ((α -> β)型)
関数型は関数の型です。引数の型がα、 戻り値の型がβの関数の型は、 (α -> β)型になります。
関数リテラル (ラムダ式)
関数リテラル(ラムダ式)は以下の構文で表します。
\パターン -> 式
パターンは以下のように複数並べることができ、 その場合は複数のラムダ式に展開されます。
\パターン1 パターン2 ... -> 式
ユーザ定義型
type文で導入した型は、型が要求される場所で自由に使えます。
.NET型
.NETの型は{System.Object}
のように、{
と}
の間にクラス名を
指定して表します。