यदि आपके पास:आप मॉड्यूल के भीतर सभी मॉड्यूल और कक्षाओं को कैसे प्राप्त करते हैं, पुनरावर्ती?
module A
class B
end
end
आप A.constants के माध्यम से बी और इसी तरह के वर्गों पा सकते हैं। हालांकि, रूबी 1.9.3 में, यदि आप किसी अन्य मॉड्यूल के भीतर हैं तो आप बी नहीं प्राप्त कर सकते हैं। रूबी 1.8.7 में आप कर सकते हैं।
module A
module Aa
class B
end
end
end
आप ए के पहले स्तर से बी कैसे प्राप्त करते हैं? क्या मैं आउटपुट के रूप में चाहते हैं स्थिरांक है, जो बी की तरह सभी वर्गों में शामिल की एक सरणी है, लेकिन मॉड्यूल ए के भीतर कहीं भी
क्या मतलब है कि आप बी नहीं प्राप्त कर सकते हैं? मैं ए :: एए :: बीन्यू बना सकता हूं, यह – megas
काम करता है 'MyModule.constants.select {| c | कक्षा === MyModule.const_get (सी)} 'आपके लिए काम? http://stackoverflow.com/questions/833125/find-classes- उपलब्ध-in-a- मॉड्यूल – ScottJShea
हां, आप इसे तुरंत चालू कर सकते हैं। लेकिन आप प्रतीकों की एक सरणी कैसे पॉप्युलेट करेंगे, जो बी जैसे वर्गों को सूचीबद्ध करता है? स्कॉट: यह रूबी 1.9.3 के लिए काम नहीं करेगा (यह रूबी 1.8.7 के लिए होगा)। कॉन्स्टेंट्स में किसी कारण से मॉड्यूल शामिल नहीं होते हैं। – Jade