"标识符"关键字的实现状态

Met*_*eta 5 d keyword

使用DMD 2.057,我无法获得以下代码进行编译:

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;
}
Run Code Online (Sandbox Code Playgroud)

Error: undefined identifier identifier虽然在http://www.d-programming-language.org/traits.html#identifier的文档中明确定义了此关键字,但我收到了错误.我也尝试过__identifier,但我得到了同样的错误.这还没有实现吗?

小智 11

identifier是一个__traitsallMembers(就像该页面上的所有其他人一样)的参数.

  • 换句话说,使用`__traits(identifier,d)` (3认同)