我想要分配给类的数据成员的范围有点复杂。
chain(nicklist,
map!(a=>format("%s%d", nicklist[0], a))(sequence!"n+1"()))
nicklist
只是string[]
。通常我的可信赖的朋友auto
会照顾这个,但对于数据成员,我需要声明类型,我不知道该类型应该是什么。我试图弄清楚如何使用typeof()
来获取它,但运行时参数让我感到困惑,而我却无法弄清楚如何制定它。
(这是用于IRC机器人。昵称列表是我希望它按顺序尝试的缺刻列表,在它已经耗尽了所有那些带有瑕疵碰撞的瑕疵后,它只会尝试附加数字的第一个昵称< / p>
答案 0 :(得分:6)
这样可行:
typeof(chain(cast(string[])[], map!(a=>format("%s%d", "", a))(sequence!"n+1"()))) memberVar;
另一种可能性是让函数包装它然后获取它的返回类型并使用它:
auto func(string[] nicklist)
{
return chain(nicklist,
map!(a=>format("%s%d", nicklist[0], a))(sequence!"n+1"()));
}
ReturnType!func memberVar;
ReturnType
位于std.traits。