为什么以下代码不起作用?(是的,我正在使用2.9.0final版本,并打开了"-Xexperimental"选项。)
implicit def any2Dynamic(a: Any) = new Dynamic {
def applyDynamic(name: String)(args: Any*) = {
println(a + name)
}
}
"Say".hello // value hello is not a member of java.lang.String
有人可能会争论这是否具有意义...... 如果按照预期工作,"Say".toInt
会采用哪个优先级: StringLike.toInt
还是 (new Dynamic {...}).applyDynamic("toInt")
?
implicit def X2Dynamic(x: X) = new X {...}
(我的问题仍然存在,类型安全问题限定在X
中),用于构建具有动态调用的DSL,这样就可以调用在xml中定义的方法,这只是一个初步的实验想法...顺便说一下,感谢您提供源链接! - Peter Schmitz