Elixir:
सहयोगी अरेज़ का उपयोग करना
कैसे:
एक मैप बनाना सीधा है। आप %{}
सिंटैक्स का उपयोग करते हैं, इस प्रकार:
my_map = %{"name" => "Alex", "age" => 32}
IO.inspect(my_map)
मूल्यों का उपयोग करने के लिए कुंजियों का उपयोग किया जाता है:
IO.puts my_map["name"]
आउटपुट: Alex
मूल्यों को जोड़ने या अपडेट करने के लिए, आप Map.put/3
फ़ंक्शन का उपयोग कर सकते हैं:
updated_map = Map.put(my_map, "location", "NY")
IO.inspect(updated_map)
आउटपुट: %{"age" => 32, "location" => "NY", "name" => "Alex"}
कुंजियों को हटाना Map.delete/2
के साथ उतना ही सरल है:
trimmed_map = Map.delete(updated_map, "age")
IO.inspect(trimmed_map)
आउटपुट: %{"location" => "NY", "name" => "Alex"}
गहराई से जानकारी
एलिक्सिर में मैप्स, पुरानी कुंजी-मूल्य भंडारण प्रकारों के विकास हैं, जैसे रूबी में हैशेस या पाइथन में शब्दकोश। वे अधिक कुशल लुकअप और सम्मिलन की अनुमति देते हैं, जिससे वे आधुनिक एलिक्सिर प्रोग्रामिंग के लिए एक प्रमुख विकल्प बन जाते हैं। यह ध्यान देने योग्य है कि मैप्स से पहले, एलिक्सिर ने HashDict और Dict मॉड्यूल्स का उपयोग किया था, जो अब पुराने हो गए हैं।
हालाँकि, क्रमबद्ध डेटा की आवश्यकता वाले परिदृश्यों के लिए, आप एलिक्सिर में कीवर्ड सूचियों पर विचार कर सकते हैं। ये युग्मों की सूचियाँ हैं, छोटे संग्रहों के लिए कुशल हैं लेकिन बड़े डेटासेट्स के लिए मैप्स के रूप में प्रदर्शन के अनुकूल नहीं हैं।
ध्यान रखें कि मैप्स अपनी कुंजियों को “फ्लैट” संरचना में संग्रहीत करते हैं, जिससे नेस्टेड मूल्यों तक सीधी पहुंच थोड़ी कठिन हो जाती है। गहरी नेस्टिंग के लिए, आप नेस्टेड डेटा मैनिपुलेशन के लिए अधिक डायनामिक दृष्टिकोण की अनुमति देने वाले get_in
, put_in
, update_in
, और get_and_update_in
फ़ंक्शनों के माध्यम से संरचित पहुंच पर विचार कर सकते हैं।
संक्षेप में, जबकि मैप्स एलिक्सिर में आपकी संबद्ध सरणी आवश्यकताओं के लिए आपका प्रमुख सहायक हैं, भाषा हर परिदृश्य के लिए डेटा संरचनाओं की एक समृद्ध विविधता प्रदान करती है, आपको सही उपकरण का चयन करने के लिए प्रोत्साहित करती है।