COBOL एक बहुत पुरानी भाषा है, लिखने के समय यह 58 वर्ष की होती है। यह वास्तव में इतना पुराना है, कि इसमें एक बहुत ही दिलचस्प विचित्रता है: प्रत्येक पंक्ति के पहले छह अक्षर टिप्पणी हैं।
यह क्यों है, आप पूछें? खैर, उन 6 वर्णों को लाइन नंबर के रूप में उपयोग करने का इरादा था, दिन में जहां प्रोग्राम पूरी तरह से डिजिटल नहीं थे और कंप्यूटर पर टाइप किए गए थे।
इसके अलावा, सातवां वर्ण केवल बहुत छोटे सेट का हिस्सा हो सकता है (यह आमतौर पर *
लाइन या कोड को कोड से अलग करने के लिए एक स्थान बाहर टिप्पणी करने के लिए होता है)
लेकिन क्या होगा यदि आप एक अधिक डिजिटल सिस्टम पर हैं, और आप सिर्फ कच्चा प्रोग्राम चाहते हैं?
टिप्पणी प्रणाली
COBOL में दो प्रकार की टिप्पणियाँ हैं: लाइन टिप्पणियां और उपरोक्त "लाइन नंबर" टिप्पणियां।
लाइन संख्याओं को जोड़ना सरल है: प्रत्येक लाइन से पहले सात (छह प्लस एक सिंगल स्पेस) अक्षर लें।
000000 apple
000001 banana
celery donuts
बन जाएगा:
apple
banana
donuts
रेखा की टिप्पणियाँ इसे थोड़ा और कठिन बनाती हैं। एक पंक्ति टिप्पणी लाइन *
पर सातवें चरित्र की स्थिति में रखे गए तारांकन के साथ शुरू की जाती है , जैसे:
000323* this is a comment
यह एक लाइन टिप्पणी नहीं है:
*00000 this isn't a comment
एक पंक्ति टिप्पणी को अनसॉल्व करने के लिए, पूरी लाइन को हटा दें।
एक उदाहरण "कार्यक्रम" पर टिप्पणी की:
000000 blah blah
000001* apples
000002 oranges?
000003* yeah, oranges.
000*04 love me some oranges
अनियोजित संस्करण:
blah blah
oranges?
love me some oranges
दूसरे शब्दों में, एक स्ट्रिंग को असुविधाजनक करने के लिए, प्रत्येक पंक्ति के पहले छह वर्णों को हटा दें, फिर सभी को लौटाएं लेकिन हर पंक्ति का पहला वर्ण जो किसी स्टार से शुरू नहीं होता है।
चुनौती
एक प्रोग्राम या फ़ंक्शन बनाएं जो एक टिप्पणी किए गए प्रोग्राम को लेता है और इसके अधूरे संस्करण को लौटाता है।
स्पष्टीकरण
- Asterisks (
*
) कभी भी एक लाइन पर पहले सात वर्णों के बाहर नहीं मिलेगा (हम आपको सिंटैक्स सत्यापित करने के लिए नहीं कह रहे हैं) - प्रत्येक पंक्ति में हमेशा कम से कम 7 अक्षर होंगे।
- आप मान सकते हैं कि सातवां वर्ण हमेशा एक तारांकन या एक स्थान है।
- इनपुट या आउटपुट एक मैट्रिक्स या सूची हो सकती है।
- केवल मुद्रण योग्य ASCII वर्ण (प्लस न्यूलाइन) को संभाला जाना चाहिए।
- आप एक अनुगामी न्यूलाइन के साथ आउटपुट कर सकते हैं। यदि आप ऐसा चुनते हैं तो आप यह भी मान सकते हैं कि इनपुट में एक नई रूपरेखा होगी।
स्कोरिंग
चूंकि यह कोड-गोल्फ है , कम से कम बाइट्स जीत के साथ जवाब!
अस्वीकरण: मैं वास्तव में COBOL नहीं जानता हूं और दावा नहीं करता हूं। अगर इस प्रश्न में COBOL के बारे में कोई भी दावा गलत है, तो मैं कोई जिम्मेदारी नहीं लेता।
*
। क्या यह एक संयोग है?
key:{key:{key:length,key:length}}
। हालांकि सभी स्वरूपण डेटा और टाइपिंग डेटा स्ट्रिप्स।