कक्षा और क्लास के बीच क्या अंतर है?रूबी में कक्षा और क्लास के बीच क्या अंतर है?
उत्तर
class
एक कीवर्ड एक नए वर्ग को परिभाषित करने के लिए प्रयोग किया जाता है। चूंकि यह एक आरक्षित कीवर्ड है, इसलिए आप इसे एक चर नाम के रूप में उपयोग करने में सक्षम नहीं हैं। आप चर नाम के रूप में रूबी के कीवर्ड के किसी भी उपयोग नहीं कर सकते, तो आप def
या module
या if
या end
, आदि नामित चरों के लिए सक्षम नहीं होगा - class
अलग नहीं है। ,
def show_methods(class)
puts Object.const_get(class).methods.inspect
end
show_methods "Kernel"
यह एक त्रुटि में परिणाम को चलाने के लिए कोशिश कर रहा है जब से तुम एक चर नाम के रूप में class
का उपयोग नहीं कर सकते हैं:
उदाहरण के लिए, निम्नलिखित पर विचार करें।
test.rb:1: syntax error, unexpected kCLASS, expecting ')'
def show_methods(class)
^
test.rb:2: syntax error, unexpected ')'
puts Object.const_get(class).methods.inspect
इसे ठीक करने के लिए, हम इसके बजाय पहचानकर्ता klass
का उपयोग करेंगे। यह विशेष नहीं है, लेकिन जब आप कक्षा या कक्षा के नाम से काम कर रहे हों तो इसे पारंपरिक रूप से एक परिवर्तनीय नाम के रूप में उपयोग किया जाता है। यह ध्वन्यात्मक रूप से वही है, लेकिन चूंकि यह आरक्षित कीवर्ड नहीं है, इसलिए रूबी के पास कोई समस्या नहीं है।
def show_methods(klass)
puts Object.const_get(klass).methods.inspect
end
show_methods "Kernel"
आउटपुट, अपेक्षा के अनुरूप,
["method", "inspect", "name", "public_class_method", "chop!"...
आप किसी भी (गैर-आरक्षित) चर नाम इस्तेमाल कर सकते हैं है, लेकिन समुदाय klass
उपयोग करने के लिए ले लिया है। इसमें कोई विशेष जादू नहीं है - इसका मतलब है "मैं यहां 'वर्ग' नाम का उपयोग करना चाहता था, लेकिन मैं नहीं कर सकता, क्योंकि यह एक आरक्षित कीवर्ड है"।
एक तरफ ध्यान दें पर, जब से तुम इसे बाहर गलत कई बार आपके द्वारा लिखे गए है, यह देखते हुए कि रूबी में, मामले मामलों के लायक है। पूंजी पत्र से शुरू होने वाले टोकन स्थिरांक हैं। Pickaxe के माध्यम से:
एक निरंतर नाम नाम वर्णों के बाद एक अपरकेस अक्षर के साथ शुरू होता है। कक्षा के नाम और मॉड्यूल नाम स्थिरांक हैं, और निरंतर नामकरण सम्मेलनों का पालन करें। सम्मेलन के अनुसार, निरंतर चर सामान्य रूप से अपरकेस अक्षरों और अंडरस्कोर का उपयोग करके वर्तनी की जाती है।
इस प्रकार, सही वर्तनी class
और klass
, बजाय Class
और Klass
है। उत्तरार्द्ध स्थिरांक होगा, और Class
और Klass
मान्य निरंतर नाम हैं, लेकिन मैं स्पष्टता उद्देश्यों के लिए उनका उपयोग करने के खिलाफ अनुशंसा करता हूं।
ठीक है, विशेष रूप से 'स्थिर' नाम केवल वैध स्थिर नाम नहीं है, यह भी एक मौजूदा है! (यह कक्षा वर्ग है) – Ashe
वाह, सुंदर। पूरी तरह से समझ में आता है। धन्यवाद क्रिस! :) – s84
मुझे लगता है कि स्थानीय चर के रूप में 'क्लास' का उपयोग पिकैक्स से आता है - उन्होंने उस नाम का उपयोग कुछ उदाहरणों में किया है, क्योंकि आपने यहां वर्णित कारणों के लिए। –
एक वर्ग का नाम है और दूसरा डिफ़ॉल्ट रूप से केवल एक अनिर्धारित स्थिर है। और जोड़ी के लिए आपको देखने की अधिक संभावना है, class
और klass
, पूर्व कक्षाओं को परिभाषित करने के लिए एक कीवर्ड है जबकि उत्तरार्द्ध सिर्फ पहचानकर्ता है (वर्णों की किसी अन्य स्ट्रिंग की तरह)। इसका उपयोग तब किया जाता है जब आप "कक्षा" शब्द लिखना चाहते हैं लेकिन ऐसा नहीं कर सकता क्योंकि यह एक आरक्षित कीवर्ड है।
बिंदु क्या है, मेरा मतलब है कि इसका उपयोग क्यों/कैसे किया जाता है, इसका आमतौर पर उपयोग किया जाता है? – s84
@ सैम क्लास कक्षाओं को परिभाषित करने के लिए एक आरक्षित कीवर्ड है। इसलिए यदि आप किसी सामान्य वर्ग (जैसे मेटाप्रोग्रामिंग) के साथ कुछ सौदा करना चाहते हैं, तो आप 'class = Kernel.const_get (class_name)' नहीं लिख सकते हैं। लेकिन आप 'klass = kernel.const_get (class_name)' लिख सकते हैं, और इसका उपयोग "कक्षा" का प्रतिनिधित्व करने के लिए किया जाता है। –
बिंदु यह है कि आप 'वर्ग' के लिए कीवर्ड 'वर्ग' का उपयोग नहीं कर सकते हैं ... क्योंकि यह एक आरक्षित शब्द (परिपत्र तर्क, मुझे पता है) तो शब्द 'क्लास' को प्रतिस्थापित किया जाता है। यह कई अन्य भाषाओं में एक आम मुहावरे है, उदा। जावा और सी #। – Scott
klass
और clazz
और clasz
और जैसे रचनात्मक एक आरक्षित शब्द class
चारों ओर पाने के लिए इस्तेमाल किया ग़लत वर्तनी कर रहे हैं।
यह class1
या cl
या classX
या जानबूझकर गलत वर्तनी के बजाय कुछ उपयोग करने के लिए आंखों पर बहुत कम जारिंग होगा।
मुझे लगता है कि klass
भी एक रेल (या बल्कि ActiveRecord) method है। इसका उपयोग एसोसिएशन की कक्षा प्राप्त करने के लिए किया जाता है।
- 1. होस्टिंगइन्वायरमेंट क्लास और एचटीपीआरटाइम क्लास के बीच क्या अंतर है?
- 2. PHP: SimpleXMLElement() क्लास और SimpleXML_load_string() के बीच क्या अंतर है?
- 3. रेल पर रूबी और रूबी के बीच क्या अंतर है?
- 4. पर्ल में ऑब्जेक्ट और क्लास के बीच क्या अंतर है?
- 5. रूबी में% Q और% {} के बीच का अंतर क्या है?
- 6. रूबी में एसटीडीआईएन और $ स्टडीन के बीच क्या अंतर है?
- 7. कक्षा और मॉड्यूल के बीच अंतर
- 8. शब्दावली: कक्षा और घटक के बीच क्या अंतर है?
- 9. सार कक्षा और एक मिक्सिन के बीच क्या अंतर है?
- 10. इकाई और कक्षा के बीच क्या अंतर है?
- 11. कक्षा आयात और विस्तार करने के बीच क्या अंतर है?
- 12. रेल और Grails पर रूबी के बीच क्या अंतर है?
- 13. रूबी: लूप और प्रत्येक लूप के बीच क्या अंतर है?
- 14. रैक और रेल धातु (रूबी) के बीच क्या अंतर है?
- 15. पर्ल में नए कुछ :: कक्षा और कुछ :: कक्षा-> नया() के बीच क्या अंतर है?
- 16. बिजनेस क्लास और डोमेन क्लास के बीच क्या अंतर है? लगातार कक्षाओं का क्या अर्थ है?
- 17. डाउनकेस और डाउनकेस के बीच अंतर! रूबी
- 18. इन दो रूबी क्लास प्रारंभिक परिभाषाओं के बीच क्या अंतर है?
- 19. आईओएस में [कक्षा नई] और [[कक्षा आवंटन] init] के बीच क्या अंतर है?
- 20. सी # में कक्षा प्रारंभिक के बीच अंतर?
- 21. कक्षा 1 और कक्षा 3 जड़ों और उनके द्वारा हस्ताक्षरित प्रमाणपत्रों के बीच क्या अंतर है?
- 22. क्या मॉड्यूल के इंस्टेंस वैरिएबल क्लास के बीच कक्षा के बीच साझा किया जाता है?
- 23. जावा में संदर्भ और वस्तुओं के बीच क्या अंतर है?
- 24. रुबी में URI.escape और URI.encode के बीच क्या अंतर है?
- 25. PHP में ऑब्जेक्ट और क्लास के बीच अंतर?
- 26. सी # में फ़ाइल और फ़ाइलइन्फो के बीच क्या अंतर है?
- 27. डब्ल्यूपीएफ में कक्षा श्रोता और एक इंस्टेंस श्रोता के बीच क्या अंतर है?
- 28. सी # में वस्तुओं और कक्षाओं के बीच क्या अंतर है?
- 29. यूएमएल में एक स्टीरियोटाइप और कक्षा विरासत के बीच क्या अंतर है?
- 30. रूबी में "=" और "=>" और "@variable", "@@ variable" और ": variable" के बीच क्या अंतर है?
आपने बाद वाले को कहाँ देखा? –
मैंने क्लास को एक से अधिक स्थानों में देखा है। हाल ही में जब सिंगलटन – s84
'क्लास' का शोध आमतौर पर एक वेरिएबल नाम देने के लिए किया जाता है जिसमें 'क्लास' ऑब्जेक्ट होता है (याद रखें कक्षाएं ऑब्जेक्ट भी होती हैं), जैसे कि 'क्लास = स्ट्रिंग' में। क्या आप इसे गहन स्पष्टीकरण के लिए कहां देख चुके हैं, इसका स्रोत प्रदान कर सकते हैं? – Chubas