使用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;
}
我收到错误Error: undefined identifier identifier
,尽管此关键字已在http://www.d-programming-language.org/traits.html#identifier的文档中明确定义。我也试过__identifier
,但我得到了同样的错误。这还没有实现吗?
答案 0 :(得分:11)
identifier
是__traits
的参数,就像allMembers
一样(与该页面上的其他所有内容一样)。