मैं esolangs ब्राउज़ कर रहा था, और इस भाषा पर विचार कर रहा था: https://github.com/catseye/Quylthulg ।
इस भाषा के बारे में एक दिलचस्प बात यह है कि यह उपसर्ग, पोस्टफिक्स या इन्फिक्स का उपयोग नहीं करता है, यह इन तीनों का उपयोग करता है , इसे "पैनिफ़िक्स" संकेतन कहते हैं।
यहाँ एक उदाहरण है। 1+2
पैनिफ़िक्स में सामान्य इन्फिक्स का प्रतिनिधित्व करने के लिए , यह हो जाता है +1+2+
:। नोटिस करें कि ऑपरेटर पहले, बीच में और ऑपरेंड के बाद दोनों कैसे है। एक और उदाहरण है (1+2)*3
। यह बन जाता है *+1+2+*3*
। सूचना फिर से कैसे *
ऑपरेंड के संबंध में सभी तीन स्थानों में है +1+2+
और 3
।
चुनौती
जैसा कि आप अनुमान लगा सकते हैं, इस चुनौती में आपका काम एक अभिव्यक्ति को इन्फिक्स से पैनफिक्स में बदलना है।
कुछ स्पष्टीकरण:
- आपको केवल चार बुनियादी कार्यों से निपटना होगा:
+-*/
- आपको उन बाइनरी के संस्करणों के साथ सौदा नहीं करना पड़ेगा, केवल बाइनरी
- आपको कोष्ठक से निपटना होगा
- उन सभी के लिए
*/
तब+-
और बाईं सहानुभूति के सामान्य पूर्वता नियमों को मान लें । - संख्या गैर-पूर्णांक होगी
- आप वैकल्पिक रूप से इनपुट और आउटपुट दोनों में रिक्त स्थान रख सकते हैं
परीक्षण के मामलों
1+2 -> +1+2+
1+2+3 -> ++1+2++3+
(1+2)*3 -> *+1+2+*3*
10/2*5 -> */10/2/*5*
(5+3)*((9+18)/4-1) -> *+5+3+*-/+9+18+/4/-1-*
यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा कोड है !
S.split``
यह होना चाहिए[...S]
, हालांकि यह वास्तव में/\d+|./g
अप-फ्रंट पर मेल करने और इसके बजाय उस पर काम करने में मदद कर सकता है ।