जैसे कुछ दो आयामी esolangs, Forked जैसे, और कुछ गैर esolangs, अजगर , कभी कभी कोड की लाइनों से पहले रिक्त स्थान की आवश्यकता होती है सकते हैं। यह बहुत गोल्फ नहीं है। इसके अलावा, मैं आलसी हूं और एक 2 डी लैंग लिख रहा हूं जिसे कोड से पहले बहुत सारे रिक्त स्थान की आवश्यकता है। आपका काम एक उपकरण लिखना है जो इन भाषाओं को गोल्फ बनाता है।
बेशक, यह सही नहीं होगा; उदाहरण के लिए, जब कोई संख्या स्रोत की एक पंक्ति का पहला वर्ण होता है, तो इसका उपयोग नहीं किया जा सकता है। हालांकि, यह आम तौर पर उपयोगी होगा।
चुनौती
आप एक प्रोग्राम या फ़ंक्शन लिखेंगे जो या तो ...
- ... एक तर्क, एक नाम या एक स्ट्रिंग, या लेता है ...
- ... मानक इनपुट से पढ़ता है।
आपके कार्यक्रम को cat
छोड़कर, जैसे कार्य करेंगे :
- यदि किसी भी लाइन पर पहला वर्ण एक संख्या है, तो आपका कोड x स्थान प्रिंट करेगा , जहां x वह संख्या है।
- अन्यथा, यह बस मुद्रित किया जाएगा।
- जैसा कि इनपुट में हर दूसरे किरदार का होगा।
परीक्षण के मामलों
इनपुट:
foo bar foo bar
1foo bar foo bar foo bar
2foo bar foo bar foo bar foo bar
आउटपुट:
foo bar foo bar
foo bar foo bar foo bar
foo bar foo bar foo bar foo bar
इनपुट:
--------v
8|
8|
80
8,
7&
आउटपुट:
--------v
|
|
0
,
&
इनपुट:
foo bar
bar foo
foo bar
आउटपुट:
foo bar
bar foo
foo bar
इनपुट:
0123456789
1234567890
2345678901
3456789012
4567890123
आउटपुट:
123456789
234567890
345678901
456789012
567890123
नियम
- आउटपुट बिल्कुल इनपुट के रूप में होना चाहिए, केवल उन लाइनों को छोड़कर जहां पहला वर्ण एक संख्या है।
- यदि आप चाहें, तो आपका प्रोग्राम फ़ाइल में कुछ भी जोड़ / पूर्व निर्धारित नहीं कर सकता, सिवाय एक अनुगामी न्यूलाइन के।
- आपका कार्यक्रम इनपुट के बारे में कोई धारणा नहीं बना सकता है। इसमें खाली लाइनें, कोई संख्या, यूनिकोड वर्ण, जो कुछ भी हो सकते हैं।
- यदि एक से अधिक अंकों वाली संख्या एक रेखा (जैसे
523abcdefg
) शुरू होती है , तो केवल पहला अंक (उदाहरण में, 5) रिक्त स्थान में बदलना चाहिए।
विजेता
प्रत्येक भाषा में सबसे छोटा कोड जीतता है। मज़ा करो और अच्छी किस्मत पाओ!
Of course, this will not be perfect; it cannot be used, for instance, when a number is the first character on a line of source.
सच नहीं है, बस पहले अक्षर को 0 (अहम, आपका आखिरी टेस्ट केस)