2010-02-21 19 views
12

रूबी स्पष्ट उपयोग के लिए प्रतीकों का पर्दाफाश क्यों करता है? क्या यह ऑप्टिमाइज़ेशन का प्रकार नहीं है जिसे आमतौर पर दुभाषिया/कंपाइलर द्वारा नियंत्रित किया जाता है?रूबी प्रतीकों का पर्दाफाश क्यों करता है?

+0

धन्यवाद सब कुछ। स्टैकओवरफ्लो शानदार नहीं है, और ज्यादातर इसका उपयोग करने वाले लोगों की वजह से है। – Jerome

उत्तर

9

समस्या का एक हिस्सा यह है कि रूबी तार विचलित होते हैं। चूंकि प्रत्येक स्ट्रिंग रूबी आवंटन स्वतंत्र होना चाहिए (यह छोटे/सामान्य वाले कैश नहीं कर सकता है), प्रोग्रामर को अनिवार्य रूप से अपरिवर्तनीय, स्मृति-कुशल तारों के लिए Symbol प्रकार होना सुविधाजनक है।

इसके अलावा, वे enum के साथ कई विशेषताओं को साझा करते हैं, लेकिन प्रोग्रामर के लिए कम दर्द के साथ।

+0

धन्यवाद ज़ेनज़ान, मुझे अब मिल गया है। मुझे लगता है कि रूबी में प्रतीकों के कैसे और क्यों पर एक उचित-आइश हैंडल प्राप्त हो चुका है, लेकिन जैसा कि आप कहते हैं कि यह उत्परिवर्तन है, पहले वर्ग ऑब्जेक्ट के रूप में तार करता है जो अंतर बनाता है। तो चीजें जो सचमुच दिखती हैं वास्तव में नहीं हैं और इन्हें दुभाषिया द्वारा नहीं माना जा सकता है। – Jerome

4

रूबी प्रतीकों का उपयोग अन्य समान भाषाओं में स्ट्रिंग स्थिरांक के बदले में किया जाता है। प्रदर्शन लाभ के अलावा, इन्हें स्ट्रिंग डेटा और अधिक सार प्रतीक के बीच अर्थात् अंतर करने के लिए उपयोग किया जा सकता है। वाक्य रचनात्मक रूप से अलग होने के कारण, वे कोड में स्पष्ट रूप से प्रतिष्ठित हो सकते हैं।

+0

धन्यवाद troelskn, हाँ मुझे लगता है कि कोड बनाते समय प्रतीक बनाम 'शाब्दिक' का अर्थ उपयोगी है। – Jerome

3

Ruby symbols पोस्ट पर एक नज़र डालें।

+0

अच्छा लेख, धन्यवाद खेल – Jerome

+0

आप http://www.randomhacks.net/articles/2007/01/20/13-ways-of-looking-at-a-ruby-symbol पर भी देखना चाहेंगे –

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