Scala中的动态调用
来源:互联网 发布:贝叶斯分类算法步骤 编辑:程序博客网 时间:2024/05/16 18:03
/*
1、假设知道一个串“param1=value1”
2、“param1”是方法名,“value1”是第一个参数
3、那么如何才能根据这个串,调用相应的方法并获得结果?
*/
import scala.collection._
import java.lang.reflect.Method
object DynamicInvoke {
def add(x:Int, y:Int) = x + y
def sub(x:Int, y:Int) = x - y
def mul(x:Int, y:Int) = x * y
def div(x:Int, y:Int) = x / y
//绑定方法的标识和值(标识和值的匹配可以很灵活,而且没有访问控制的限制)
private val methods = immutable.Map("add" -> add _, "sub" -> sub _, "mul" -> mul _, "div" -> div _)
def main(args:Array[String]) {
println("---------------- start ----------------/n")
val question = args(1) + " " + args(0) + " " + args(2) + " = "
println("---------------- bind -----------------")
val m1 = methods(args(0))
println(question + m1(args(1).toInt, args(2).toInt))
println("--------------- reflect ----------------")
for (m2 <- DynamicInvoke.getClass.getMethods if m2.getName.equals(args(0)))
println(question + m2.invoke(this, java.lang.Integer.valueOf(args(1)), java.lang.Integer.valueOf(args(2))))
println("/n----------------- end -----------------")
}
}
执行如下命令看结果:
scala DynamicInvoke add 1 2
- Scala中的动态调用
- Scala中的静态方法的调用
- Java中的函数动态调用
- 动态调用 DLL 中的函数
- Java中的函数动态调用
- 调用动态库中的函数
- Java中的函数动态调用
- Java中的函数动态调用
- action中的动态方法调用
- struts2中的动态方法调用
- Action中的动态方法调用
- scala学习笔记之 scala多重继承中的混入顺序和对象调用顺序说明
- OpenMP中的静态和动态调用方式
- 客户端动态调用WCF服务中的方法
- 如何动态调用DLL中的导出类
- struts2中的动态方法调用DMI
- 如何动态调用DLL中的导出类
- struts2中的动态方法调用DMI
- JS 和PHP 数据库操作在一个页面
- 微软必应搜索爆出漏洞 不购物也可领取返现款
- C#非托管资源释放(Finalize&Dispose)方法
- Some links
- 使用设计模式改善程序结构(一)
- Scala中的动态调用
- Oracle日常维护点滴
- 如何在XML字符串中使用&
- 资金互助社软件配套凭证样本上传
- ASP.NET页面对象 - Request
- 与领导谈话(一)
- swing 实现象QQ一样自动隐藏
- Windows CE内核启动分析
- 在IE下,当margin:0 auto;无法使得块级元素水平居中时...