2009-02-15 9 views
12

यह एक ऐसा उदाहरण है जो मैं करना चाहता हूं, लेकिन कम से कम वांछित व्यवहार व्यक्त करता है। मैं उस ऑब्जेक्ट के उदाहरण का संदर्भ देना चाहता हूं जिस पर संपत्ति का उपयोग किया जा रहा है। मैंने पहले 'यह' कोशिश की, लेकिन यह मेटा क्लास या स्ट्रिंग इंस्टेंस के बजाए संलग्न वर्ग को संदर्भित करता है।मैं ग्रोवी में मेटा क्लास विधियों से ग्रोवी ऑब्जेक्ट उदाहरण का संदर्भ कैसे दूं?

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

उत्तर

15

आप "प्रतिनिधि" के साथ वस्तु का उल्लेख कर सकते हैं:

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


println "a".me