我只是在Groovy中尝试元类编程。但突然间我遇到了一个小问题,我无法解决...
这是一个简单的脚本:
// define simple closure
def printValueClosure = {
println "The value is: '$delegate'"
}
String.metaClass.printValueClosure = printValueClosure
// works fine
'variable A'.printValueClosure()
// define as method
def printValueMethod(String s){
println "The value is: '$s'"
}
// how to do this!?
String.metaClass.printValueMethod = this.&printValueMethod(delegate)
'variable B'.printValueMethod()
是否可以使用该方法,但将第一个参数设置为调用对象?使用委托似乎不起作用...分配不引用调用者的方法没有问题。这里可以使用柯里化吗?
谢谢, Ingo