d运行多个成员函数

import std.stdio;

struct Commands {
    static://置为静
    void func001() {writef("1啊");}
//假定空,且无参
    void func002() {writef("2哈");}
}

void main(string[] args) {
    if(args.length > 1)
    // 切换运行时,加上标签
    outer: switch(args[1]) {
        foreach(memberName; __traits(allMembers, Commands)) {//迭代类中,成员函数名.
            case memberName:
                // 用反射取名,并在尾部调用
                __traits(getMember, Commands, memberName)();

            // 跳出
            break outer;
        }

        default: // 默认
            writef("无此函数", args[1]);
            break;
    }
    else { // 参数不够
        writeln("参数");
        // 也可循环.
        foreach(memberName; __traits(allMembers, Commands)) {
            writeln(memberName);
        }
    }
}
posted @   zjh6  阅读(8)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示