D言語入門記事 ~データ型と式のプロパティ(1)、typeof演算子~

アバター
tk-xleader
記事: 158
登録日時: 14年前
連絡を取る:

D言語入門記事 ~データ型と式のプロパティ(1)、typeof演算子~

投稿記事 by tk-xleader » 13年前

今回はデータ型と変数のプロパティについて説明しようと思います。

[1] プロパティ

 プロパティは、データ型や式から得られる情報にアクセスする手段です。例えば、SomeType型のWhatというプロパティを取得したい場合、次のように.(ドット)を使ってアクセスします。

SomeType.What

 また、SomeExpression という式のWhenというプロパティを取得したい場合も同様に、

SomeExpression.When

 とすればアクセスできます。アクセスした結果の型は、プロパティによります。

[2] データ型に定義済みのプロパティ

 D言語によって定義済みのプロパティというものが存在します。これらは、すべての型に定義されていたり、整数型などの特定の基本データ型に定義されていたりします。

1.すべてのデータ型に定義されているプロパティ

 これには、init,sizeof,alignof,mangleof,stringof の5つが定義されています。

CODE:

init ……… その型の初期値
sizeof ……… その型のバイトサイズ (要するに、Type.sizeofは、C言語のsizeof(Type)に相当する。)
alignof ……… その型のアラインメント
mangleof ……… その型のマングルされた型名
stirngof ……… Something.stringof → Somethingの文字列表現。
 Somethingが型の場合は型名、Somethingが式の場合はソースコード上での表現を文字列化したもの。
stringofのサンプルコード

CODE:

import std.stdio;

void main()
{
	writeln("test".stringof);
	writeln((2+4).stringof);
	writeln(int.stringof);
}
実行結果
"test"
2 + 4
int


[2] 整数型に定義されているプロパティ

 これには、maxとminが定義されています。それぞれ、対象整数型の最大値と最小値に対応します。

[3] 浮動小数点型に定義されているプロパティ

 いろいろありますけれども、よく使いそうなものをピックアップします。

CODE:

nan ……… エラーを表す数値
infinity ……… 無限大
max ……… 最大値
epsilon ……… 表現可能な正の最小値
 それと、複素数型に関連したプロパティが次の2つ

CODE:

re ……… 実部
im ……… 虚部
[3] typeof演算子

 これは、式から型を得るための演算子です。使い方は、typeof(式)です。

CODE:

import std.stdio;

void main()
{
	writeln(typeof(2.0).stringof);
	writeln(typeof(2+4).stringof);
}
実行結果
double
int


前の記事「関数(1)」 ←→ 次の記事「配列(1)
最後に編集したユーザー tk-xleader on 2012年3月25日(日) 16:19 [ 編集 3 回目 ]

コメントはまだありません。