2011-11-20 14 views

उत्तर

18

वाक्यविन्यास हैश कुंजी/मूल्य जोड़े को परिभाषित करने के लिए है, और अंतर रूबी संस्करण पर निर्भर करता है।

दोनों रूबी 1.8 और रूबी 1,9

:foo => true 

में समर्थित केवल रूबी 1,9

foo: true 

में समर्थित आप रूबी 1.9 में विकसित कर रहे हैं, तो आप शायद सिंटैक्स का उपयोग करना चाहिए:

foo: true 

क्योंकि ऐसा लगता है कि समुदाय आगे बढ़ रहा है दिशा

+2

आपने सुना कि '=>' को बहिष्कृत किया जाएगा? –

+1

हाँ, आपने कहां सुना है '=>' को बहिष्कृत किया जा रहा है? मुझे ऐसी चीज याद नहीं है। और यहां तक ​​कि यदि यह सत्य था, तो यह मुख्य हैश कार्यक्षमता को तोड़ देगा कि कोई भी वस्तु कुंजी के रूप में कार्य कर सकती है। तो, अगर ऐसा हुआ तो केवल प्रतीकों को चाबियों के रूप में इस्तेमाल किया जा सकता था! उदाहरण: '{ऑब्जेक्ट => ऑब्जेक्ट} 'अब मौजूद नहीं होगा [वह एक प्रकार का छद्म कोड था]। – omninonsense

+0

क्षमा करें मुझे याद नहीं है कि मैंने सुना है कि मैंने इसे बनाया होगा। मैंने इसका संदर्भ हटा दिया है अंत में इसे हटा दिया गया है। – JDutil

6

बाद वाला नया हैश वाक्यविन्यास 1.9 में पेश किया गया है। उदाहरण के लिए देखें,:

http://breakthebit.org/post/8453341914/ruby-1-9-and-the-new-hash-syntax

हैश कि दो पंक्तियों उत्पन्न समान हैं।

+2

यह केवल तभी होता है जब कुंजी एक प्रतीक है। यदि आप कुंजी के लिए एक और वस्तु चाहते हैं, तो आपको पहले के रूप में वसा तीर की आवश्यकता होगी। –

संबंधित मुद्दे