如何不使用映射,不使用if ,switch 根据字符串动态调用方法

zsyok 2011-07-27 02:33:33
比如
传入 str



switch(str)
{
case:"a"
str("调用A方法");
break;
case:"b"
str("调用b方法");
break;
}
...全文
97 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
子夜__ 2011-07-27
  • 打赏
  • 举报
回复
哈希表匹配? 字符串和方法名

为什么不用IF和switch
zsyok 2011-07-27
  • 打赏
  • 举报
回复
string str
飞猪大飞 2011-07-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xiecheng10 的回复:]

我不知道你str是什么意思,他又是变量 有是方法。真得高不懂 。变量的话就这样写:str=a?"调用A方法":"调用b方法"
[/Quote]
这个是三元运算, 不是if switch 映射。不知道你觉得怎么样
飞猪大飞 2011-07-27
  • 打赏
  • 举报
回复
我不知道你str是什么意思,他又是变量 有是方法。真得高不懂 。变量的话就这样写:str=a?"调用A方法":"调用b方法"
binarie 2011-07-27
  • 打赏
  • 举报
回复
想到一个比较不现实的办法。

把需要调用到的所有的函数都弄成COM可见的,

然后使用lua或其它脚本,将对象传入,后传入函数的名字,让脚本来根据名称寻找COM对象的同名方法。

当然C++也可以,COM可见后,通过API方式传入C++,再设计一个C++的API用来根据函数名寻找方法并调用。
binarie 2011-07-27
  • 打赏
  • 举报
回复
不用映射好像比较困难吧。。
本课程采用了漫画+动手实操+练习讲授Python编程技能。课程简介:第6章 容器类型数据6.1 序列6.1.1 序列的索引操作6.1.2 加与乘操作6.1.3 切片操作6.1.4 成员测试6.2 列表6.2.1 创建列表6.2.2 追加元素6.2.3 插入元素6.2.4 替换元素6.2.5 删除元素6.3 元组6.3.1 创建元组6.3.2 元组拆包6.4 集合6.4.1 创建集合6.4.2 修改集合6.5 字典6.5.1 创建字典6.5.2 修改字典6.5.3 访问字典视图6.6 动动手 —— 遍历字典6.7 练一练第7章 字符串7.1 字符串的表示方式7.1.1 普通字符串7.1.2 原始字符串7.1.3 长字符串7.2 字符串与数字的相互转换7.2.1 将字符串转换为数字7.2.2 将数字转换为字符串7.3 格式化字符串7.3.1 使用占位符7.3.2 格式化控制符7.4 操作字符串7.4.1 字符串查找7.4.2 字符串替换7.4.3 字符串分割7.5 动动手 —— 统计英文文章中单词出现的频率7.6 练一练第8章 函数8.1 定义函数8.2 调用函数8.2.1 使用位置参数调用函数8.2.2 使用关键字参数调用函数8.3 参数的默认值8.4 可变参数8.4.1 基于元组的可变参数( *可变参数)8.4.2 基于字典的可变参数( **可变参数)8.5 函数中变量的作用域8.6 函数类型8.6.1 理解函数类型8.6.2 过滤函数filter()8.6.3 映射函数map()8.7 lambda()函数8.8 动动手 —— 使用更多的lambda()函数8.9 练一练第9章 类与对象9.1 面向对象9.2 定义类9.3 创建对象9.4 类的成员9.4.1 实例变量9.4.2 构造方法9.4.3 实例方法9.4.4 类变量19.5 封装9.5.1 私有变量9.5.2 私有方法9.5.3 使用属性9.6 继承性9.6.1 Python中的继承9.6.2 多继承9.6.3 重写方法9.7 多态性9.7.1 继承与多态9.7.2 鸭子类型测试与多态9.8 练一练第10章 异常处理9.8 练一练10.1 第一个异常 —— 除零异常10.2 捕获异常110.2.1 try-except语句10.2.2 多个except代码块10.2.3 多重异常捕获10.2.4 try-except语句嵌套10.3 使用finally代码块释放资源10.4 自定义异常类10.5 动动手 —— 手动引发异常10.6 练一练

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧