अमृत में हमारे पास नक्शे हैं:
> map = %{:a => "one", :b => "two"} # = %{a: "one", b: "two"}
> map.a # = "one"
> map[:a] # = "one"
हमारे पास कीवर्ड सूची भी है:
> kl = [a: "one", b: "two"] # = [a: "one", b: "two"]
> kl2 = [{:a, "one"},{:b, "two"}] # = [a: "one", b: "two"]
> kl == kl2 # = true
> kl[:a] # = "one"
> kl.a # = ** (ArgumentError)
दोनों क्यों?
वाक्य - विन्यास? क्या ऐसा इसलिए है क्योंकि कीवर्ड सूचियों में अधिक लचीली वाक्य रचना है जो उन्हें बिना कर्ल के और यहां तक कि ब्रैकेट के बिना फ़ंक्शन कॉल के अंतिम पैराम के रूप में परिभाषित करने की अनुमति देती है? तो फिर क्यों मैप्स इस वाक्यविन्यास चीनी नहीं दे?
डुप्लिकेट कुंजी? क्या इसलिए कि कीवर्ड सूचियों में डुप्लिकेट कुंजियाँ हो सकती हैं? आप मानचित्र शैली का उपयोग और डुप्लिकेट कुंजी दोनों क्यों चाहते हैं?
प्रदर्शन? क्या इसलिए कि कीवर्ड सूचियों का प्रदर्शन बेहतर है? फिर मैप्स क्यों हैं? और क्या tuples की सूची की तुलना में कुंजी द्वारा सदस्यों को देखने पर नक्शे अधिक प्रदर्शन योग्य नहीं होने चाहिए?
जेएस अर्रे और रूबी हैश की तरह दिखते हैं? क्या यही है?
मैं समझता हूं कि संरचनात्मक रूप से वे अलग-अलग डेटा अभ्यावेदन हैं। मेरे लिए ऐसा लगता है कि अमृत में कीवर्ड सूची असाधारण वाक्यविन्यास (3 अलग-अलग वाक्य विन्यास) के माध्यम से भाषा को जटिल बनाने का काम करती है, नक्शे के साथ केस ओवरलैप का उपयोग करें, और एक अस्पष्ट लाभ।
कीवर्ड सूचियों का उपयोग करने का क्या लाभ है?