रूबी में एक बहुआयामी सरणी कैसे बनाएं

रूबी में एक बहुआयामी सरणी कैसे बनाएं। हालांकि रूबी बहुआयामी सरणियों के लिए स्पष्ट समर्थन प्रदान नहीं करती है, लेकिन यदि आपको भाषा का बुनियादी ज्ञान है तो आप इसे स्वयं लागू कर सकते हैं। आपको संक्षेप में "सरणी का सरणी" बनाना होगा जिसमें सरणी के प्रत्येक तत्व में एक और सरणी हो। रूबी में इस तरह की एक बहुआयामी सरणी बनाने के लिए, आप सरणी के सरणी उत्पन्न करने के लिए उपयोग की जाने वाली विधि लिख सकते हैं ताकि कोड को दोहराया न जाए।

रूबी में एक बहुआयामी सरणी बनाएं

स्टेप 1

विधि की रूपरेखा लिखिए। यह विधि कई आयाम तर्कों को लेगी और उन आयामों की एक खाली बहुआयामी सरणी लौटाएगी। उदाहरण के लिए, 10x10 सरणी के लिए, इस विधि को एमडीए (10,10) कहते हैं: डीईएफ़ एमडीए (चौड़ाई, ऊंचाई) अंत

दिन का वीडियो

चरण दो

चौड़ाई तत्वों की एक सरणी बनाएँ।

चरण 3

सरणी में प्रत्येक तत्व के लिए ऊंचाई तत्वों की एक सरणी बनाएं। यह "सरणी की सरणी" बनाता है जिसका उपयोग द्वि-आयामी सरणी के रूप में किया जाएगा। एक विशिष्ट लंबाई की खाली सरणियाँ बनाने के लिए, Array.new कंस्ट्रक्टर का उपयोग लंबाई के साथ एक तर्क के रूप में करें। प्रारंभ में, सरणी में सभी मान शून्य होंगे।

चरण 4

मानचित्र का प्रयोग करें! विधि भी। वो नक्शा! विधि सरणी में प्रत्येक तत्व को पुनरावृत्त करती है, प्रत्येक के लिए एक ब्लॉक चलाती है और ब्लॉक के परिणाम को सरणी तत्व को असाइन करती है। लूप के लिए एक ही परिणाम प्राप्त किया जा सकता है, लेकिन नक्शा! विधि अधिक संक्षिप्त है: def mda (चौड़ाई, ऊंचाई) a = Array.new (चौड़ाई) a.map! {Array.new (ऊंचाई)}वापसी अंत

चरण 5

इस सरणी का उपयोग सबस्क्रिप्ट (वर्ग कोष्ठक []) ऑपरेटर के साथ करें। उदाहरण के लिए, यदि आपके पास "a" नामक 10x10 सरणी है और आप 7,3 तत्व चाहते हैं, तो आप कहेंगे a[7][3]: a = mda (10,10)# सरणी को मानों से भरें [7] [5] = "एक स्ट्रिंग" a [2] [9] = 23 # मान प्राप्त करें [7] [5] एक डालता है [2] [9]

चरण 6

रूबी में "चेन" विधि कॉल करने की क्षमता का लाभ उठाएं। उदाहरण के लिए, Array.new विधि एक सरणी देता है। लौटाए गए सरणी पर एक विधि को कॉल करने के लिए आप उस पर किसी अन्य विधि कॉल को श्रृंखलाबद्ध कर सकते हैं। चूंकि आप विधियों का पीछा कर रहे हैं, और रिटर्न स्टेटमेंट का उपयोग नहीं कर रहे हैं, इसलिए आपको वेरिएबल नाम की भी आवश्यकता नहीं है: def mda (चौड़ाई, ऊंचाई) Array.new (चौड़ाई)। नक्शा! { Array.new (ऊंचाई) }end

टिप

रूबी बहुत अभिव्यंजक है। एमडीए विधि कोड की एक छोटी और संक्षिप्त एकल पंक्ति हो सकती है। अतिरिक्त लाइनें और कीवर्ड केवल कोड को वास्तव में उससे अधिक जटिल बनाते हैं। रूबी में वापसी विवरण आवश्यक नहीं है। रूबी विधियाँ और ब्लॉक स्वचालित रूप से विधि या ब्लॉक में निष्पादित अंतिम विवरण का परिणाम लौटाते हैं।

श्रेणियाँ

हाल का

स्पीकर वायर कैसे मिलाप करें

स्पीकर वायर कैसे मिलाप करें

जब तक आपके तार पहले से ही नंगे न हों, आपको तार ...

मोटोरोला केबल बॉक्स कैसे सेट करें

मोटोरोला केबल बॉक्स कैसे सेट करें

मोटोरोला केबल बॉक्स सेट करना। मोटोरोला केबल बॉ...

उच्च शक्ति वाले अल्ट्रासोनिक स्पीकर का निर्माण कैसे करें

उच्च शक्ति वाले अल्ट्रासोनिक स्पीकर का निर्माण कैसे करें

पीजो हॉर्न उसी तरह उच्च मात्रा में विकसित होते...