रूबी में "मॉड्यूल ..." के बजाय "::" का उपयोग करके रूबी में, class Foo::Bar
और module Foo; class Bar
लिखने के लिए नामांकन के बीच कोई अंतर है? यदि ऐसा है तो क्या?रुबी नेमस्पेसिंग
उत्तर
आप class Foo::Bar
उपयोग करें, लेकिन Foo
मॉड्यूल अभी तक निर्धारित नहीं किया गया है, तो एक अपवाद है, बढ़ा दी जाएगी जबकि module Foo; class Bar
विधि Foo
परिभाषित करेगा अगर यह अभी तक निर्धारित नहीं किया गया।
module Foo
class Bar; end
class Baz; end
end
इसके अलावा रूबी ismness के इस उत्सुक सा नोटिस:
FOO = 123
module Foo
FOO = 555
end
module Foo
class Bar
def baz
puts FOO
end
end
end
class Foo::Bar
def glorf
puts FOO
end
end
puts Foo::Bar.new.baz # -> 555
puts Foo::Bar.new.glorf # -> 123
क्या आप इस बारे में कुछ स्पष्टीकरण प्रदान कर सकते हैं कि यह आपके उदाहरण में क्यों हो रहा है? मुझे लगता है कि दूसरा कॉल 555 भी लौटाएगा। – wmock
@WillsonMock अच्छा सवाल। मैं इसके लिए लगभग एक नया SO सवाल खोलूंगा। जब मैंने यह लिखा, तो मुझे जवाब वापस मिला, लेकिन अब मुझे यह याद नहीं है और इसे फिर से नहीं मिला। इसे यहां जवाब में भी पोस्ट करना चाहिए था: -/वर्गों के साथ भी बीटीडब्ल्यू होता है। न केवल मॉड्यूल। – Casper
ठंडा, यदि आप अनुसरण करना चाहते हैं, तो यह नया एसओ प्रश्न है जिसे मैंने पोस्ट किया है: http://stackoverflow.com/questions/15119724/ruby-lexical-scope-vs-inheritance – wmock
- 1. जावास्क्रिप्ट: नेमस्पेसिंग
- 2. जावास्क्रिप्ट नेमस्पेसिंग
- 3. Node.js नेमस्पेसिंग
- 4. सॉकेट.ओओ कमरे या नेमस्पेसिंग?
- 5. पीएचपी नेमस्पेसिंग लाभ
- 6. नेमस्पेसिंग कई घटनाओं
- 7. डेटाबेस तालिका नेमस्पेसिंग मौजूद है?
- 8. रुबी
- 9. रुबी
- 10. रुबी
- 11. रुबी
- 12. रुबी
- 13. रुबी
- 14. रुबी
- 15. रुबी
- 16. रुबी
- 17. रुबी
- 18. रुबी
- 19. रुबी
- 20. रुबी
- 21. रुबी
- 22. रुबी
- 23. रुबी
- 24. रुबी
- 25. रुबी
- 26. रुबी
- 27. रुबी
- 28. रुबी
- 29. रुबी
- 30. रुबी
इसके अलावा, अगर 'Foo' एक के रूप में परिभाषित किया गया था
इसके अलावा, ब्लॉक प्रारूप के साथ, आप कई वर्गों के भीतर निर्धारित कर सकते हैं वर्ग 'फू :: बार' अपवाद नहीं बढ़ाएगा जबकि 'मॉड्यूल फू; 'फू' एक मॉड्यूल नहीं बल्कि एक वर्ग है, क्योंकि''' टाइपरर 'बढ़ाएगा। – robertodecurnex