अच्छी तरह से उद्धृत RIP Hash rocket post हैश रॉकेट सिंटैक्स (:foo => "bar"
) को इंगित करने के लिए प्रतीत होता है कि नए-टू-रूबी JSON-style हैश (foo: "bar"
) के पक्ष में बहिष्कृत किया गया है, लेकिन मुझे हैश रॉकेट बताते हुए कोई निश्चित संदर्भ नहीं मिल रहा है रूप वास्तव में रूबी 1.9 के रूप में बहिष्कृत/unadvised है।हैश रॉकेट को हटा दिया गया है?
उत्तर
कि ब्लॉग पोस्ट के लेखक ज्यादा नाटकीय और मूर्ख किया जा रहा है, =>
stillquitenecessary है। विशेष रूप से:
- आपको लगता है कि के हवाले से की आवश्यकता होती है प्रतीकों के लिए रॉकेट का उपयोग करना चाहिए:
:'where.is' => x
मान्य है, लेकिन नहीं है। रूबी 2.2 ने इस समस्या को ठीक कर दिया है ताकि आप रूबी 2.2+ में कह सकें। - आपको रॉकेट का उपयोग उन प्रतीकों के लिए करना चाहिए जो मान्य लेबल नहीं हैं:
:$set => x
मान्य है लेकिन$set: x
नहीं है। रूबी 2.2+ में आप उद्धरण के साथ इस समस्या को हल कर सकते हैं:'$set': x
द राइट थिंग करेगा। - यदि आप अपने हैंश में कुंजी का उपयोग करते हैं तो आपको रॉकेट का उपयोग करना चाहिए जो कि प्रतीक नहीं हैं:
's' => x
मान्य है लेकिन's': x
कुछ अलग है।
आप निश्चित रूप से स्पष्ट ढंग से ऊपर चारों ओर kludge कर सकते हैं:
h = { }
h[:'where.is'] = 'pancakes house?'
# etc.
लेकिन यह है कि सिर्फ बदसूरत और अनावश्यक है।
रॉकेट रूबी के हैश को अपंग किए बिना कहीं नहीं जा रहा है।
एस/अत्यधिक नाटकीय और मूर्ख/नाटकीय और एक भाषण श्रद्धांजलि के साथ वकालत। आपके बाकी अंक खड़े हैं। – dbenhur
मैं सहमत हूं, यह निश्चित रूप से एक भाषा अद्यतन के बारे में सबसे स्पष्ट पदों में से एक है। हालांकि थोड़ा भ्रामक: डी। – mahemoff
आपको आश्चर्य करना होगा कि क्या नए सिंटैक्स का उपयोग करना है, जब आपको अभी भी कुछ परिदृश्यों के लिए पुराने वाक्यविन्यास पर भरोसा करने की आवश्यकता है, तो बस हमारे कोड को जटिल बनायेगा। –
मुझे लगता है कि लड़का केवल रूबी के साथ रूबी का उपयोग करता है। –