रूबी के Hash
और ActiveSupport के HashWithIndifferentAccess
के बीच क्या अंतर है? गतिशील हैश के लिए सबसे अच्छा कौन सा है?रूबी के हैश और एक्टिव सपोर्ट के हैशविथ इंडिफ़िफरएप
उत्तर
नीचे सरल उदाहरण है कि आप साधारण के बीच अंतर दिखाई देगा है:
hash = ActiveSupport::HashWithIndifferentAccess.new(a: 1)
आप गारंटी है कि कुंजी स्ट्रिंग के रूप दिया जाता है कर रहे हैं रूबी हैश & एक "सक्रिय समर्थन :: हैशविथ इंडिफ़िफरेंस"
- HashWithIndifferentAccess
सरल रूबी हैश हमें कोई प्रतीक या स्ट्रिंग के रूप में हैश कुंजी का उपयोग करने की अनुमति देता है
$ irb
2.2.1 :001 > hash = {a: 1, b:2}
=> {:a=>1, :b=>2}
2.2.1 :002 > hash[:a]
=> 1
2.2.1 :003 > hash["a"]
=> nil
ActiveSupport :: HashWithIndifferentAccess
2.2.1 :006 > hash = ActiveSupport::HashWithIndifferentAccess.new(a: 1, b:2)
NameError: uninitialized constant ActiveSupport
from (irb):6
from /home/synerzip/.rvm/rubies/ruby-2.2.1/bin/irb:11:in `<main>'
2.2.1 :007 > require 'active_support/core_ext/hash/indifferent_access'
=> true
2.2.1 :008 > hash = ActiveSupport::HashWithIndifferentAccess.new(a: 1, b:2)
=> {"a"=>1, "b"=>2}
2.2.1 :009 > hash[:a]
=> 1
2.2.1 :010 > hash["a"]
=> 1
- वर्ग हैशविथ इंडिफेंडरएप को रूबी "हैश" & से विशेष व्यवहार में जोड़ा गया है।
रूबी हैश में:
hash[:key]
hash["key"]
अलग हैं। नाम के अनुसार HashWithIndifferentAccess
में, आप key
किसी भी तरह से पहुंच सकते हैं।
documentation यह करने के लिए आधिकारिक का हवाला देते हुए: foo और "foo" एक ही माना जाता है:
एक हैश जहां कुंजी लागू करता है।
और
आंतरिक प्रतीक जब पूरे लेखन इंटरफ़ेस में कुंजियों (बुला [] =, विलय, आदि) के रूप में इस्तेमाल तार करने के लिए मैप की जाती हैं। यह मैपिंग सार्वजनिक इंटरफ़ेस से संबंधित है। उदाहरण के लिए, दिए गए:
hash.keys # => ["a"]
मैं HashWithIndifferentAccess के मामले में लगता है, प्रतीकों जब (,, आदि [] बुला = विलय) पूरे लेखन इंटरफ़ेस में कुंजी के रूप में इस्तेमाल किया तार करने के लिए मैप की जाती हैं। क्या यह सही है? –
हां। संपूर्ण लेखन इंटरफ़ेस में कुंजियों के रूप में उपयोग किए जाने पर आंतरिक रूप से प्रतीकों को तारों पर मैप किया जाता है (कॉलिंग [] =, विलय, आदि)। यह मैपिंग सार्वजनिक इंटरफ़ेस से संबंधित है। – shivam
- 1. हैश प्रकार
- 2. फोर्क, रूबी, एक्टिव रिकार्ड और फोर्क
- 3. पोस्टग्रेस्क्ल JSON कॉलम हैशविथ इंडिफेंडरएप
- 4. रूबी - हैश
- 5. रूबी हैश
- 6. रूबी हैश
- 7. हैश के लिए रूबी "गिनती" विधि
- 8. रूबी शब्द सरणी हैश के रूप में?
- 9. रूबी हैश को वाईएएमएल
- 10. रूबी प्रिंट हैश कुंजी और मान
- 11. शुद्ध-रूबी समवर्ती हैश
- 12. रूबी हैश सम्मिलन आदेश
- 13. हैश [ 'कुंजी'] रूबी
- 14. रूबी पहुँच हैश तत्व
- 15. एक्टिव एमक्यू क्लस्टरिंग के साथ अपाचे कैमल
- 16. रेल सक्रिय एक्टिव रिकॉर्ड समूह
- 17. रेल/एक्टिव रिकार्ड और लीगेसी स्कीमा
- 18. रूबी कोलन हैश सिंटैक्स हाइलाइटिंग
- 19. मूल्यों की सरणी के साथ अन्य हैश में मूल्यों की सरणी के साथ रूबी हैश विलय
- 20. ऑन एक्टिव ए नेविगेशन
- 21. रूबी सरणी अनुक्रमित हैश में?
- 22. विंडोज एक्टिव डायरेक्टरी एमुलेटर
- 23. रूबी हैश में डुप्लिकेट रखें
- 24. रूबी हैश त्रुटि: अपरिभाषित विधि []
- 25. एचएमसी SHA1 हैश - सी # रूबी
- 26. मैं एक्टिव एडमिन (फॉर्मेटास्टिक)
- 27. रूबी हैश पाइथन dict setdefault
- 28. ड्रीमहोस्ट (मूल्य निर्धारण, फीचर्स और सपोर्ट) के समतुल्य Asp.net होस्टिंग
- 29. पर्ल के हैश और पायथन के शब्दकोश
- 30. उसी रूबी रेल परियोजना में मोंगोमैपर और एक्टिव रिकार्ड को कॉन्फ़िगर कैसे करें
सही उदाहरण –