रूबी 2.3:हैश में यह स्ट्रिंग कुंजी क्यों प्रतीक में परिवर्तित हो गई है?
उदाहरण 1 में, स्ट्रिंग कुंजी "a"
स्वचालित रूप से एक प्रतीक में परिवर्तित हो जाती है, जबकि उदाहरण 2 के साथ, यह एक स्ट्रिंग रहता है।
उदाहरण 1
{"a": 1}
# => {:a=>1}
उदाहरण 2
{"a"=>"c"}
# => {"a"=>"c"}
मैंने सोचा था कि :
पुरानी शैली हैश रॉकेट =>
वाक्य रचना के रूप में ही किया गया था। क्या हो रहा है? मैंने रेल में कभी यह क्यों नहीं देखा है? क्या यह HashWithIndifferentAccess
है जो इसे अस्पष्ट कर रहा है?
@Zabba क्यों आप उस संस्करण जोड़ने की जरूरत थी:
एक ही परिणाम का उत्पादन होगा? यह केवल हाल ही में रूबी में काम करता है। यदि ओपी कहता है कि यह काम करता है, तो यह अनिवार्य है कि यह एक हालिया संस्करण है। – sawa
ओपी प्रश्न में उस संस्करण का उल्लेख किया है, तो यह यह अर्थ और सवाल के इरादे बदल जाएगा को हटाने के बाद से इसे हटाने के लिए उपयुक्त नहीं है, तो बस यहाँ मूल जा रहा है। – Zabba
यह एक स्ट्रिंग कुंजी नहीं है, यह एक प्रतीक कुंजी है। कुछ भी नहीं बदला जा रहा है। –