2009-02-15 7 views
12

Ceci est un exemple artificiel de ce que je veux faire, mais exprime de façon minimale le comportement souhaité. Je veux référencer l'instance de l'objet sur lequel l'accès à la propriété est appelé. J'ai d'abord essayé ceci, mais cela fait référence à la classe englobante plutôt qu'à la MetaClass ou à l'instance String.Comment référencer l'occurrence GroovyObject à partir de méthodes MetaClass dans Groovy?

String.metaClass.propertyMissing = { String name -> 
    'I do not exist, but my name is ' + <the String instance> + '.' + $name 
} 

Répondre

15

Vous pouvez vous référer à l'objet avec "délégué":

String.metaClass.propertyMissing = { String name -> 
    "I do not exist, but my name is $delegate.$name" 
} 


println "a".me 
Questions connexes