groovy - 在 Groovy 中重构 Switch
问题描述
我有这个方法:
void schedule(){
switch (schedule.getType()) {
case MANUAL:
scheduleManual();
break;
case AUTO:
scheduleAuto();
break;
case NONE:
scheduleNone();
break;
default:
break;
}
}
我想知道是否有更好的设计来代替开关。
解决方案
void schedule(){
def method = 'schedule' + schedule.getType().toString().toLowerCase().capitalize()
this."$method"()
}
推荐阅读
- struct - 是否可以将一种类型的所有成员复制到另一种类型而不明确提及每个成员?
- r - 将函数放入数据框中
- scope - 重新定义标准 ML 中的隐式标识符
- c++ - C++17:在 C++17 应用程序中使用 C++ 或 C++11 库 GDAL 和 OpenCV
- c# - 在 Azure Webjobs SDK v3 中的 ServiceBusTrigger 函数中处理 Webjob 关闭
- c - CSFML 意外重复纹理行为
- video - 有没有办法更改视频嵌入代码,以便将默认播放速度设置为 1.25x?
- python - 试图将 csv 的第 1-10 行移动到 JSON 文件。我似乎只得到第 10 行
- ios - 我需要为 armv7s 编译什么 Xcode 版本?
- mysql - MariaDB 复制从属服务器到主服务器连接的权限被拒绝