D Programlama Dili - Çözümler

foreach Döngüsü

isimle tablosunun tersi olarak çalışabilmesi için indeks türü yerine eleman türü, eleman türü yerine de indeks türü kullanmak gerekir. Yani int[string]... Asıl dizginin elemanlarını foreach ile gezerek indeks olarak eleman değerini, eleman olarak da indeks değerini kullanırsak, ters yönde çalışan bir eşleme tablosu elde ederiz:

import std.stdio;

void main() {
    string[int] isimle = [ 1:"bir", 7:"yedi", 20:"yirmi" ];

    int[string] rakamla;

    foreach (indeks, eleman; isimle) {
        rakamla[eleman] = indeks;
    }

    writeln(rakamla["yirmi"]);
}