2012-01-27 9 views
5

Korzystanie DMD 2.057, nie mogę się następujący kod do kompilacji:Realizacja status „identyfikator” Keyword

import std.stdio; 

import std.array; 

enum direction 
{ 
    test1, 
    test2, 
    test3 
} 

string getDescriptionOnConnect(direction d) 
{ 
    string descriptionOnConnect = "Going in direction %dir%"; 
    foreach(s; __traits(allMembers, direction)) 
    { 
     if (identifier(d) == s) 
     { 
      descriptionOnConnect = 
       replace(descriptionOnConnect, "%dir%", identifier(d)); 
     } 
    } 

    return descriptionOnConnect; 
} 

int main(string[] argv) 
{ 
    return 0; 
} 

pojawia się błąd Error: undefined identifier identifier, chociaż to słowo kluczowe jest jasno określony w dokumentacji na http://www.d-programming-language.org/traits.html#identifier. Próbowałem również __identifier, ale mam ten sam błąd. Czy to jeszcze nie zostało wdrożone?

Odpowiedz

12

identifier jest argumentem dla __traits podobnie jak allMembers (podobnie jak wszystkie pozostałe na tej stronie).

+3

innymi słowy użyj '__traits (identyfikator, d)' –