Back to page

− Links

 Print 

SampleCodes​/D言語文法​/連想配列関連​/1 :: D言語友の会

wiki:SampleCodes/D言語文法/連想配列関連/1

Table of contents
  • 概要
  • ポイント
  • サンプルコード
  • 実行結果
  • 投票とコメント

概要 anchor.png[1] Edit [2]

連想配列は、

値の型名[キーの型名] 変数名;

として定義する。初期化は

変数名[キー] = 値;

として行う

変数名[キー];

として値を参照する。

Page Top

ポイント anchor.png[3] Edit [4]

値の参照を行う際に、そのキーが登録されていない場合、例外が発生する。回避するには in を使用する

Page Top

サンプルコード anchor.png[5] Edit [6]

Everything is expanded.Everything is shortened.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
 
 
-
-
!
-
|
!
|
|
|
|
-
|
!
-
!
-
|
!
|
-
|
!
-
|
!
-
-
!
!
|
-
|
!
!
import std.stdio;
 
void main()
{
    // 定義
    string[string] assoc;
    // 値の代入
    // assoc[key] = value;
    assoc["あ"] = "a";
    assoc["か"] = "ka";
    assoc["さ"] = "sa";
    assoc["た"] = "ta";
    assoc["な"] = "na";
    // 値の参照
    // assoc[key]
    writeln(assoc["あ"]);
    // 値が入っているか確認
    if ("い" in assoc)
    {
        writeln("「い」は連想配列に含まれる");
    }
    else
    {
        writeln("「い」は連想配列に含まれない");
    }
    // 値を確認するついでに取り出して利用する
    // 取り出した値の型は、この場合だと string* となる
    if (auto tmp = "た" in assoc)
    {
        // そのため、アクセスするときは *tmp のように、ポインタを解除する
        writeln("「た」=「"~*tmp~"」は連想配列に含まれる");
    }
    else
    {
        writeln("「た」は連想配列に含まれない");
    }
}
Page Top

実行結果 anchor.png[7] Edit [8]

1
2
3
a
「い」は連想配列に含まれない
「た」=「ta」は連想配列に含まれる
Page Top

投票とコメント anchor.png[9] Edit [10]

Choices Vote
大変参考になった0  
参考になった1  
あまり参考にならなかった0  
まったく参考にならなかった0  

No comment. コメント​/SampleCodes​/D言語文法​/連想配列関連​/1Edit[11]

Name:

Last-modified: 2012-03-09 (Fri) 21:37:28 (JST) (3611d) by SHOO