के रूप में लौटा दी गई है मेरे पास एक मरो क्लास है जो एक एरेरेफ (केवल पढ़ने के लिए) है और ऑब्जेक्ट द्वारा आंतरिक रूप से छेड़छाड़ की जाती है। लेकिन जब कोई एक्सेसर विधि कहता है तो मैं चाहता हूं कि वह एक ऐरे (या सूची) को संदर्भ न दे। न केवल इस बात को अस्वीकार कर दिया जाएगा कि कक्षा के उपयोगकर्ता को क्या करना है, लेकिन इसका मतलब यह होगा कि वे मेरे ऑब्जेक्ट का उपयोग कर रहे उसी रेफरी के साथ गलती से छेड़छाड़ नहीं कर सकते हैं।मूस ArrayRef विशेषता एक ऐरे
तो ऐसा करने का सबसे अच्छा तरीका क्या है? कुछ प्रकार का जबरदस्ती?
has my_field => (
is => 'ro', isa => 'ArrayRef[Str]',
auto_deref => 1,
# rest of options...
);
ध्यान दें कि कभी कभी आप जब पाठक पद्धति का उपयोग करके, अभिव्यक्ति की अदिश या सूची संदर्भ के आधार पर वापस एक सरणी नहीं मिलेगा:
'auto_deref' (मूस गिट में) के लिए दस्तावेज़ अब यह स्पष्ट करते हैं। – hdp