रूबी है 5 चर स्कोप:अंतर माणिक में scopes
- स्थानीय चर: ये सामान्य चर, उदाहरण के
x = 25
,y = gaurish
जहांx
औरy
स्थानीय चर रहे हैं। - इंस्टेंस वैरिएबल: इन्हें वास्तविक चर नाम के नीचे
@
प्रतीक के साथ दर्शाया गया है। मुख्य रूप से कक्षाओं के साथ प्रयोग किया जाता है, ताकि कक्षा के प्रत्येक उदाहरण/वस्तु का एक अलग/अलग मूल्य हो। उदाहरण।@employee.name = 'Alex'
- कक्षा चर: चर नाम के सामने
@@
प्रतीकों के साथ चिह्नित। क्लास वेरिएबल, मुझे लगता है कि सभी मान/ऑब्जेक्ट्स एक ही मूल्य accos है। - वैश्विक चर: वे
$
प्रतीक से शुरू होते हैं और हर जगह तक पहुंच योग्य होते हैं। उदाहरण$LOAD_PATH
- कॉन्स्टेंट: पूंजी पत्र से शुरू होना चाहिए लेकिन
ALL_CAPS
में लिखित सम्मेलन द्वारा शुरू होना चाहिए। हालांकि, यह स्थिर है लेकिन इसका मूल्य स्थिर नहीं है और इसे बदला जा सकता है (रूबी हालांकि चेतावनी फेंक देगा)। तो अर्थ में, यह एक चर की तरह कार्य करता है।
जैसा कि आप देख सकते हैं, उपरोक्त सभी वेरिएबल्स हैं जो कुछ प्रकार के कुछ मूल्य संग्रहीत करते हैं और उनका मूल्य बदला जा सकता है। लेकिन, प्रत्येक गुंजाइश कुछ अलग करता है। परिवर्तनीय क्षेत्रों के 5 अलग-अलग प्रकार होने से मुझे नरक भ्रमित कर दिया जाता है। मुख्य रूप से, मुझे किस मामले में निर्णय लेने में कठिनाई है, मुझे अपने कोड में एक विशेष दायरे का उपयोग करना चाहिए। इसलिए मेरे दिमाग में कुछ सवाल हैं। कृपया उत्तर दें:
- मुझे लगता है कि स्थानीय चर और वर्ग चर सभी ऑब्जेक्ट्स/उदाहरणों के लिए समान रहते हैं, उदाहरण चर के विपरीत। तो स्थानीय चर और वर्ग चर के बीच क्या अंतर है?
- कक्षा चर के स्थान पर स्थानीय चर का उपयोग किया जा सकता है? या ठीक इसके विपरीत। और यदि हां, तो क्यों, और यदि नहीं, तो क्यों नहीं?
- रूबी में वैश्विक चर मुझे PHP में बुराई
global $x
चर के बारे में याद दिलाता है। क्या रूबी में वैश्विक चर भी बुरा मानते हैं और इसलिए इसका उपयोग नहीं किया जाना चाहिए। या, ऐसे विशिष्ट मामले हैं जहां रूबी में वैश्विक चर का उपयोग करना समझ में आता है? - स्थिरांक स्थिरांक क्यों नहीं हैं और उनके मूल्य को बदलने की अनुमति क्यों देते हैं? परिभाषा के आधार पर निरंतर मूल्य स्थिर होना चाहिए? अन्यथा, हम सिर्फ एक और चर का उपयोग कर सकते हैं और इसके मूल्य को नहीं बदल सकते हैं। क्या वह रूबी में एक कॉन्स्टेंट के बराबर होगा?
- कोई भी पृष्ठ/संसाधन/लिंक जो रूबी में 5 अलग-अलग चरणीय क्षेत्रों के बीच अंतर बताता है? मैं संदर्भ के लिए एक आसान रखना पसंद है।
- उपयोग के मामले में, मुझे अपने कोड में एक विशेष चरणीय दायरे का उपयोग करना चाहिए। तो कोई भी सभी 5 मामलों को समझाएगा उदाहरण के साथ यह अच्छा होगा, यह भ्रम के लिए मेरा मुख्य कारण है।
- जावा में
public
जैसे एक वास्तविक तथ्य है? में उपयोग-मामलों में सुरक्षित शर्त कौन सा होगी?
पढ़ने के लिए समय और जवाब सवाल
बिंदु एक के लिए, सभी ऑब्जेक्ट्स क्लास स्तरीय चर साझा करते हैं, प्रत्येक व्यक्तिगत ऑब्जेक्ट में स्थानीय चर –
की अपनी प्रतिलिपि होगी यदि प्रत्येक व्यक्तिगत ऑब्जेक्ट में स्थानीय चर की अपनी प्रति होगी, तो स्थानीय चर नहीं है जैसे आवृत्ति चर फिर? – CuriousMind
क्रमबद्ध करें, मुझे लगता है कि आप उन्हें इस तरह देख सकते हैं। किसी ऑब्जेक्ट के उदाहरण के लिए इंस्टेंस वैरिएबल _belong_ और आमतौर पर उस ऑब्जेक्ट के गुण बनाते हैं। उदाहरण के लिए 'व्यक्ति' ऑब्जेक्ट में दो इंस्टेंस वेरिएबल '@ first_name' और '@ last_name' हो सकते हैं, इसमें स्थानीय चर' x' भी हो सकता है लेकिन' x' 'व्यक्ति' ऑब्जेक्ट की स्थिति से असंबंधित नहीं हो सकता है –