相关疑难解决方法(0)

使用foreach循环 - 无法读取变量

应该相当简单,但事实并非如此.

这是我的代码:

string cases()
{
    string ret = "";
    string[] methods;

    methods = [__traits(derivedMembers,mixin("Math"))];
    foreach (string s; methods) ret ~= "case \"" ~ s ~ "\": return Math."~s~"(params);";

    methods = [__traits(derivedMembers,mixin("OtherClass"))];
    foreach (string s; methods) ret ~= "case \"" ~ s ~ "\": return OtherClass."~s~"(params);";

    return ret;
}

string execute(string what, string[] params)
{
    switch (what)
    {
        mixin(cases());
        default: break;
    }
    return "";
}
Run Code Online (Sandbox Code Playgroud)

我想做的事 :

const string[] arrayWithClassNames = ["Math","SomeClass"];
foreach (string s; arrayWithClassNames)
{
     methods = ...
     foreach …
Run Code Online (Sandbox Code Playgroud)

d mixins dmd

3
推荐指数
1
解决办法
333
查看次数

标签 统计

d ×1

dmd ×1

mixins ×1