gpt4 book ai didi

d - 获取用于成员声明的范围类型

转载 作者:行者123 更新时间:2023-12-04 10:44:34 25 4
gpt4 key购买 nike

我有一个有点复杂的范围,我想分配给一个类的数据成员。

chain(nicklist,
map!(a=>format("%s%d", nicklist[0], a))(sequence!"n+1"()))
nicklist只是一个 string[] .通常我可信赖的 friend auto只会处理这个,但对于数据成员,我需要声明类型,而我不知道该类型应该是什么。我试图弄清楚如何使用 typeof()得到它,但运行时参数让我感到困惑,我无法弄清楚如何制定它。

(这是用于 IRC 机器人。nicklist 是我希望它按顺序尝试的 nicks 列表,在它耗尽所有 nick 冲突后,它只会尝试附加数字的第一个 nick)

最佳答案

这会起作用:

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 中。

关于d - 获取用于成员声明的范围类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10170583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com