मैं या तो अपेक्षित संपत्ति का मूल्य या निर्दिष्ट डिफ़ॉल्ट का उपयोग करना चाहता हूं। ग्रोवी में इसे कैसे प्राप्त किया जाए? उदाहरण कोकिसी ऑब्जेक्ट की कोई निश्चित संपत्ति होने पर सत्यापित कैसे करें?
आइए नज़र:
def printName(object) {
//if object has initialized property 'name' - print 'name', otherwise print ToString
if (object<some code here>name && object.name) {
print object.name
} else {
print object
}
}
+1 मेरा से बेहतर ... मुझे मेटा क्लास से शुरू नहीं होना चाहिए था ;-) –
'# हैप्रोपर्टी 'वास्तव में एक [मेटाप्रोपर्टी] लौटाता है (http://groovy.codehaus.org/api/groovy/lang/MetaProperty .html), तो आप 'object.hasProperty (propName) जैसे कुछ भी कर सकते हैं? getProperty (ऑब्जेक्ट)?: defval' –
... और groovyDoc (groovy-2.4.7) में कुछ असंगतता है: _Description_ '' 'लागू होने वाले रिटर्न के साथ शुरू होता है मेटाक्लास के पास दिए गए नाम ' ' _Returns_ के लिए खड़ा है' '' मेटाप्रोपर्टी या शून्य अगर यह मौजूद नहीं है, तो सत्य है –