前回までで、全てのデータ型の紹介が終わりました。この記事では、それらを整理して表にしています。
値の分類
型の名前は datatype の結果に合わせています。
- 数値
- boolean
- integer
- floating
- complex
- extended
- rational
- 文字・文字列
- literal
- unicode
- unicode4
- symbol
- ボックス
- boxed
数値
| 型 | 値 | 例 |
|---|---|---|
| boolean | 整数 0 (false) と 1 (true) |
1 |
| integer | 64 bit 符号付き整数 | 42 |
| floating | IEEE 754 倍精度浮動小数点数 | 3.14 |
| complex | 複素数 | 1j_1 |
| extended | 多倍長整数 | 12345x |
| rational | 有理数 (分数) | 1r2 |
文字・文字列
| 型 | 値 | 例 |
|---|---|---|
| literal | UTF-8 文字(列) | 'a' |
| unicode | UTF-16 文字(列) | u:16b3042 |
| unicode4 | UTF-32 文字(列) | 10 u: 16b20bb7 |
| symbol | 一意な文字列 | s:<'symbol' |
ボックス
| 型 | 値 | 例 |
|---|---|---|
| boxed | どんな値でも格納可能 | 'abc' ; 'xy' ; (<1 2) ; 3 |
配列
普通は密な配列を使います。疎な配列の場合、datatype は型の名前の前に sparse を付けたものになります。
- 密な配列 (普通の配列)
- 疎な配列 (疎行列)
別名
| 名前 | 意味 | 例 |
|---|---|---|
| リスト | 一次元配列 | (ベクター・文字列) |
| ベクター | 数値のリスト (一次元配列) | 1 2 3 |
| 文字列 | 文字のリスト (一次元配列) | 'abc' |
| テーブル | 二次元配列 | i.3 3 |
| ブリック | 三次元配列 | 2 2 2 $ 'abcdefgh' |
アトム
配列と対比して、配列になっていない「一つの」値をアトムと呼びます。1 や 'a' などがアトムです。ボックスは、中に入っている値に関わらず、アトムに分類されます。
J では、「オブジェクト型」のようなものは無く、新しい型を定義することもできないので、上に挙げた型が全てです。逆に言うと、これらの値だけを使ってプログラムを書いていくことになります。