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()
メソッドを使用して、最初のパラメーターを呼び出し元のオブジェクトに設定することはできますか? デリゲートの使用は機能しないようです...呼び出し元を参照しないメソッドの割り当ては問題ありません。ここでカレーは機能しますか?
ありがとう、インゴ