2012-06-23 7 views
10

मैंने देखा है कि कहीं भी मुझे नहीं मिल सकता है, ऊपर दिए गए प्रश्न का मुझे एक निश्चित उत्तर दे सकता है। मैंने पहली बार इस बारे में सोचा जब मैंने देखा कि आपको उन्हें घोषित करते समय क्यूबासिक में चर के प्रकार को कभी भी नहीं कहना था, हालांकि आप एक चर के नाम पर एक प्रत्यय जोड़ सकते हैं ताकि यह सुनिश्चित किया जा सके कि यह किसी विशेष प्रकार का था।बेसिक सिस्टम क्या प्रयोग प्रणाली उपयोग करता है?

इसके अलावा, जैसा कि बेसिक के कुछ बोलियों का अर्थ है और दूसरों को संकलित किया गया है, क्या यह टाइपिंग सिस्टम को प्रभावित करता है?

उत्तर

6

बेसिक के कई स्वाद हैं, कुछ केवल ऐतिहासिक और कुछ अभी भी उपयोग में हैं, कि एक सही जवाब देना असंभव है।

कुछ पुराने मूलभूत (रेखा क्रमांकित बीएएसआईसी) में दो डेटा प्रकार थे: स्ट्रिंग, या इंटीजर। ऐप्पल-द्वितीय कंप्यूटर के साथ भेजे गए मूल मूलभूत "इंटीजर बेसिक" थे। बाद में बीएएसआईसीएस ने फ्लोटिंग प्वाइंट पेश किया, जो प्रायः एकल परिशुद्धता एफपी था। टीआई-99/4 ए के साथ भेजे गए बेसिक 80 के शुरुआती फ्लोटिंग पॉइंट बेसिक का उदाहरण था। "वे वापस जब", आप पहचानकर्ता नाम के बाद $ सिगिल के साथ उद्धरण के साथ एक स्ट्रिंग अक्षर और एक स्ट्रिंग चर बना देंगे। वेरिएबल्स जिनमें $ सिगिल नहीं था, आमतौर पर संख्यात्मक चर के प्रकार के लिए डिफ़ॉल्ट होता है जो मूल समर्थित (इंटीजर या फ़्लोटिंग प्वाइंट) का दिया गया स्वाद होता है। उदाहरण के लिए, GWBasic, फ़्लोटिंग पॉइंट पर डिफ़ॉल्ट होगा जब तक कि आपने % सिगिल निर्दिष्ट नहीं किया, जिसका अर्थ है "पूर्णांक"। टीआई एक्सटेंडेड बेसिक में एक पूर्णांक प्रकार नहीं था, लेकिन अगर मुझे याद है (फ्लोटिंग पॉइंट गणित त्रुटियों का सामना नहीं कर रहा है) तो फ्लोटिंग पॉइंट न्यूमेरिक टाइप में 15 महत्वपूर्ण अंक हैं।

इन शुरुआती मूलभूत बातें अनिवार्य रूप से स्थाई रूप से टाइप की गई थीं, हालांकि भेद अधिक शक्तिशाली भाषाओं की तुलना में बहुत कम उपयोगी था। डेटा प्रकारों के लिए विकल्प कम थे: स्ट्रिंग, संख्या (कभी-कभी इंट, कभी-कभी एफपी), और कभी-कभी निर्दिष्ट करने की क्षमता के साथ कि इंट या एफपी के रूप में कोई संख्या। दृश्यों के पीछे कुछ भी आसानी से इन्स और फ्लोटिंग पॉइंट के बीच परिवर्तित रूप से परिवर्तित हो जाते हैं। अक्सर दृश्यों के पीछे रूपांतरणों को अच्छी तरह से प्रलेखित नहीं किया गया था।

लेकिन 80 के दशक में मामलों की स्थिति थी, जब घर कंप्यूटर वाला हर कोई एक सबसे कठिन था, और मानकों को ढीला कर दिया गया था। प्रत्येक हार्डवेयर निर्माता को अपना खुद का लेना पड़ता था कि बेसिक को कैसे काम करना चाहिए।

अधिक आधुनिक बीएएसआईसी अधिक शक्तिशाली हैं, और परिवर्तनीय प्रकारों (जब आवश्यक हो) पर कड़े नियंत्रण की अनुमति देते हैं।

+1

विस्तृत उत्तर के लिए धन्यवाद। –

2

पहले बीएएसआईसी की बोलियां हमेशा स्थाई रूप से टाइप की गई थीं। संख्यात्मक चर, स्ट्रिंग चर और सरणी प्रत्येक को अलग-अलग वाक्यविन्यास की आवश्यकता होती है। इसके अलावा नामों की लंबाई अक्सर एक प्रतीक तक ही सीमित थी। अधिकांशतः प्रयुक्त वाक्यविन्यास संख्या V संख्यात्मक, V$ के लिए स्ट्रिंग और सरणी के लिए DIM के साथ अलग से घोषित किया गया था।

चूंकि मैंने अच्छे 15 वर्षों के लिए बेसिक में प्रोग्राम नहीं किया है, इसलिए मैं यह सुनिश्चित नहीं कर सकता कि आधुनिक बोलियों में क्या चल रहा है।

1

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

डबल कोट्स में कुछ भी एक स्ट्रिंग है और कोई भी संख्यात्मक मान डबल कोट्स में नहीं है। युगल या फ्लोट के रूप में संख्यात्मक डेटा को लिखने के लिए विभिन्न प्रारूप अभिव्यक्तियां हैं जिनका उपयोग आप इसे प्राप्त करने के लिए कर सकते हैं, जिसे आप अपने चर पर लागू करते हैं।

आखिरकार डेटाबेस स्तर पर एएससीआईआई स्ट्रिंग के रूप में सबकुछ बचाया जाता है। तो डेवलपर इसे लागू करने वाले डेटाबेस के विपरीत व्यापार तर्क स्तर पर प्रकार को लागू करता है।

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