d习语

import std.meta: AliasSeq;
alias stuff = AliasSeq!(VAL_FOO, MyType, VAL_BAR, MyOtherType, /* ... */);
sw: switch (val)
{
    static foreach (i; 0 .. stuff.length / 2)
    {
        case stuff[i]:
        auto obj = getObject!(stuff[i + 1])(someData);
        if(obj.shouldExit()) break sw;
        auto m = Message(...);
        if(obj.doSomethingElse(m)) return 0;
        break sw;
    }
}
posted @ 2021-04-27 09:07  zjh6  阅读(41)  评论(0)    收藏  举报  来源