2013-03-25 12 views
5

मैं एक छोटा सा बच्चा हूं, वर्तमान में फ़ारो के साथ खेल रहा हूं और मैं सबक्लास संदेश में किसी विकल्प के बारे में उत्सुक हूं: कीवर्ड उदाहरण VariableNames कुछ सबस्ट्रिंग संदेश का उत्तर देने में सक्षम है । मुझे आश्चर्य है कि यह किसी सरणी की तरह कुछ और संरचित क्यों नहीं करता है, क्योंकि प्रतीकों का संग्रह आवश्यक है।क्यों exampleVariableNames एक स्ट्रिंग है और अधिक संरचित संग्रह नहीं है

Object subclass: #Experiment instanceVariableNames: #(#foo #bar). 

मेरी केवल इस पर अनुमान लगा कुछ ऐतिहासिक कारण है: शायद नहीं सभी Smalltalks सरणियों है या उनके वाक्य विन्यास उपवर्ग के रूप में एक आंतरिक संदेश में पर्ची के लिए बहुत कुछ करने के लिए अलग है। क्या कोई और स्पष्टीकरण है?

उत्तर

3

Pharo विजन दस्तावेज में, बिंदुओं में से एक है कि बदल सकते हैं और उदाहरण चर का एक वास्तविक धारणा है इन कड़ियों की जाँच करें यदि आप रुचि रखते हैं:।

+0

धन्यवाद, बहुत ही रोचक संदर्भ। – eMMe

2

हाँ यह थोड़ा अजीब है। मुझे लगता है कि मुख्य कारण यह है कि इसे नामों की आवश्यकता है, इसलिए वर्ग निर्माण कंपाइलर पार्स स्ट्रिंग पर और सबस्ट्रिंग्स के रूप में नाम प्राप्त होते हैं, इसके अलावा आपको यह जांचने की आवश्यकता नहीं है कि किसी ने आपको संख्या या अन्य सरणी के साथ एक सरणी पारित की है या नहीं।

सरणी के रूप में, यह स्मॉलटॉक -80 विनिर्देशन में मौजूद था, इसलिए वे काफी आम हैं। (नहीं के रूप में गतिशील सरणियों { expr1 . expr2 . expr3} कि स्क्वीक में पेश किए गए।

भी अजीब के लिए बहुत कुछ कर रहे हैं। उदाहरण के लिए अभी Pharo पार्सरस्कैनर ... तू है कि जल्द ही बदलने के लिए जा रहा है की एक उपवर्ग है कि का उपयोग करता है ।

+0

वास्तव में, नया क्लासबिल्डर उदाहरण परिवर्तनीय नामों के लिए असली Arrays स्वीकार करेगा। – camillobruni

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