foreachループ

namesの逆の動作をする連想配列を作成するには、キーと値の型を交換する必要がある。新しい連想配列は、int[string]型として定義する必要がある。

元の連想配列のキーを値として、値をキーとして使用して、キーと値を繰り返し処理すると、valuesテーブルが埋まる。

import std.stdio;

void main() {
    string[int] names = [ 1:"one", 7:"seven", 20:"twenty" ];

    int[string] values;

    foreach (key, value; names) {
        values[value] = key;
    }

    writeln(values["twenty"]);
}
D
foreach.solution.1