2012-01-27 20 views
5

Sử dụng DMD 2,057, tôi không thể có được đoạn mã sau để biên dịch:Tình hình thực thi của "định danh" Từ khoá

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; 
} 

tôi nhận được lỗi Error: undefined identifier identifier, mặc dù từ khoá này được xác định rõ ràng trong tài liệu tại http://www.d-programming-language.org/traits.html#identifier. Tôi cũng đã thử __identifier, nhưng tôi đã gặp lỗi tương tự. Điều này chưa được triển khai chưa?

Trả lời

12

identifier là đối số cho __traits giống như allMembers (giống như tất cả các trang khác trên trang đó).

+3

nói cách khác sử dụng '__traits (số nhận dạng, d)' –

Các vấn đề liên quan