2013-05-13 5 views
18

के लिए रूबी अनियंत्रित कॉन्स्टेंट नाम त्रुटि, मैं अभिभावक-वर्ग से उप-वर्ग का उत्तराधिकारी बनाना चाहता हूं।कक्षा नाम

मेरा कोड यहां है। 3 कक्षाएं 3 अलग-अलग फाइलों में बनाई गई हैं।

class Transportation 
#codes 
end 

class Plane < Transportation 
#codes 
end 

class Boat < Transportation 
#codes 
end 

और जब मैं इस कोड चल रहा था, मैं नौका के लिए त्रुटि मिली, लेकिन विमान के लिए कोई समस्या नहीं विमान बनाए जाने पर मैं केवल है

uninitialized constant Transportation (NameError) 

किसी को भी इस मुद्दे के साथ मेरी मदद कर सकते हैं?

धन्यवाद

+0

त्रुटि उत्पन्न करने वाला कोड क्या है? – jason328

+0

यदि संभव हो तो अपना कोड दिखाएं – sunny1304

+0

मैंने वास्तव में एक साधारण वर्ग और एक ही त्रुटि बनाने की कोशिश की है, इसलिए कोड के साथ ऐसा करने के लिए कुछ भी नहीं है। धन्यवाद –

उत्तर

30

कोई कारण इस कोड को विफल करने के लिए, जब तक Transportation की परिभाषा एक और फाइल में है।

यदि ऐसा है, और ये अलग-अलग फाइलों में हैं, तो फ़ाइल में Transportation कक्षा के साथ फ़ाइल की आवश्यकता के साथ अन्य फ़ाइल से पहले इसकी आवश्यकता नहीं है।

जैसा कि आपने बताया है, तीन अलग-अलग फाइलें हैं।

आप एक ऐसी फाइल बना सकते हैं जिसमें आवश्यक पुस्तकालय हों। शायद यह आपके bin/transport_simulator.rb फ़ाइल में है।

require 'transportation' 
require 'boat' 
require 'plane' 

अब उन्हें उचित क्रम में आवश्यकता होगी, और कक्षाओं के साथ फाइलें जो वर्ग को उप-वर्गीकृत करती हैं, उस वर्ग के बारे में जानेंगे।

+0

हाँ, ठीक है, कोड परिवहन के बाद मुझे काम करने की आवश्यकता है, लेकिन क्या आपको पता है कि मुझे ऐसा करने की आवश्यकता क्यों नहीं है विमान बनाया है और परिवहन से विरासत है? धन्यवाद। –

+0

एक ही फाइल में परिवहन और विमान हैं? – vgoff

+0

नहीं, तीन कक्षाओं के लिए तीन अलग-अलग फाइलें –

संबंधित मुद्दे