2010-10-31 18 views

उत्तर

47

to_sym एक स्ट्रिंग को एक प्रतीक में परिवर्तित करता है। उदाहरण के लिए, "a".to_sym:a बन जाता है।

यह रेल के लिए विशिष्ट नहीं है; वेनिला रूबी भी है।

यह रूबी के कुछ संस्करणों में दिखता है, एक प्रतीक को फिक्सम से भी परिवर्तित किया जा सकता है। लेकिन Ruby-lang.org से रुबी 1.9.2-पी 0 से irb, तब तक अनुमति नहीं देता है जब तक कि आप फिक्सनम के लिए अपना to_sym विधि जोड़ते हैं। मुझे यकीन नहीं है कि रेल ऐसा करता है, लेकिन यह किसी भी मामले में बहुत उपयोगी प्रतीत नहीं होता है।

+5

यदि आप अपने कोड में to_sym का उपयोग कर रहे हैं, तो सावधान रहें! आप एक लीक हो सकता है। प्रतीकों को रूबी द्वारा कभी भी आवंटित नहीं किया जाता है। – fotanus

+28

@ फ़ोटानस मुझे लगता है कि आप किसी प्रकार की सब्जी के बजाय मेमोरी ** लीक ** का मतलब मानते हैं: http://en.wikipedia.org/wiki/Leek –

+0

हैलो @ सीएचओओ, आपके उत्तर के लिए धन्यवाद। क्या आप कृपया बता सकते हैं कि क्यों '.to_sym!' ('!' 'के साथ) काम नहीं करता है। मैंने इसे इस विचारधारा में उपयोग किया है: http://ideone.com/D7dZNz और ऐसा लगता है कि यह काम नहीं कर रहा है। धन्यवाद! –

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