में माणिक, आपको चर घोषित करने की आवश्यकता नहीं है, लेकिन आपको उन्हें निर्दिष्ट करने से पहले कुछ निर्दिष्ट करना होगा।
यदि आप एक का जिक्र कर रहे हैं स्थानीय चर यह अभी तक मौजूद नहीं है, आप दो त्रुटियों में से एक देख सकते हैं।
रूबी NameError संदेश
NameError: अपरिभाषित स्थानीय चर या विधि `a '# के लिए
NameError: मुख्य के लिए अपरिभाषित स्थानीय चर या विधि `a ': ऑब्जेक्ट
ध्यान दें: के स्थान पर विभिन्न पहचानकर्ता हो सकते हैं 'ए' ऊपर।
यह एक उदाहरण है जहां कोड चर के बाद रूबी "NameError" संदेश उत्पन्न करेगा ए अभी तक कुछ भी नहीं सौंपा गया है:
डालता है
त्रुटि को ठीक कैसे करें
चर का उपयोग करने से पहले उन्हें सौंपा जाना चाहिए। इसलिए, ऊपर से उदाहरण का उपयोग करते हुए, त्रुटि को ठीक करना उतना ही सरल है जितना कि यह करना:
a = १०। डालता है।
आप यह त्रुटि क्यों प्राप्त कर रहे हैं
स्पष्ट उत्तर यह है कि आप एक ऐसे चर की बात कर रहे हैं जो अभी तक नहीं बना है। यह सबसे अधिक बार एक टाइपो के कारण होता है, लेकिन कोड को रीक्रिएट करने और चर का नाम बदलने पर हो सकता है।
यदि आप एक स्ट्रिंग दर्ज करने का इरादा रखते हैं, तो आप "NameError: अपरिभाषित स्थानीय चर" रूबी त्रुटि भी देख सकते हैं। स्ट्रिंग्स को समझा जाता है जब वे उद्धरणों के बीच मौजूद होते हैं। यदि आपने उद्धरण का उपयोग नहीं किया है, तो रूबी सोचेंगी कि आप एक विधि या चर का संदर्भ देते हैं (जो मौजूद नहीं है) और त्रुटि को फेंक दें।
इसलिए, अपने कोड को वापस देखें कि यह चर किसका संदर्भ देने वाला है, और इसे ठीक करें। आप एक ही चर नाम के अन्य उदाहरणों को एक ही विधि में खोजना चाहते हैं - यदि यह एक जगह गलत है, तो यह दूसरों में गलत हो सकता है।