रेम्बु, 91 वर्ण
कैच -22 के कारण मुझे इस उत्तर का URL प्राप्त करने के लिए पोस्ट करना होगा। :-/ ठीक है समझ आ गया।
paTSrd http://codegolf.stackexchange.com/a/28154[th<a name="28154">th<code>cpCto</code>]prC
Rebmu Rebol की एक बोली है, और आप इसे पढ़ सकते हैं । यहाँ समकक्ष बराबर होगा:
parse to-string read http://codegolf.stackexchange.com/a/28154 [
thru <a name="28154">
thru <code>
copy c to </code>
]
print c
रेबो का PARSE, RegEx के लिए एक उच्च साक्षर उत्तर है। यह इनपुट की एक पार्सर स्थिति शुरू करता है (जो संरचनात्मक ब्लॉक ... बाइनरी डेटा ... या स्ट्रिंग प्रकार सहित किसी भी श्रृंखला हो सकती है) । नियम हैं कि पार्स स्थिति कैसे चलती है, इसके लिए एक भाषा है।
टैग और यूआरएल वास्तव में भाषा में हुड के नीचे सिर्फ तार हैं। लेकिन वे "सुगंधित" हैं, और जैसा कि Rebol गतिशील रूप से टाइप किया गया है आप उस प्रकार की जांच कर सकते हैं। उदाहरण के लिए READ जानता है कि यदि आप इसे URL-फ्लेवर्ड स्ट्रिंग देते हैं, तो उसे रीडिंग करने के लिए किसी स्कीम हैंडलर को भेजना चाहिए। (इस मामले में, एक HTTP के लिए पंजीकृत)। आप डिफ़ॉल्ट रूप से UTF-8 बाइट्स प्राप्त करते हैं, इसलिए हम इसे डिकोड करने के लिए और एक सामान्य यूनिकोड स्ट्रिंग में कोडपॉइंट की एक श्रृंखला प्राप्त करने के लिए उपयोग करते हैं।
पार्स बोली के मामले में, एक टैग प्रकार का सामना करना सिर्फ इस तरह से मेल खाता है जैसे कि यह एक स्ट्रिंग थी जो टैग की तरह दिखती थी। THRU एक निर्देश है जिसका अर्थ है "तब तक छोड़ें जब तक कि आगामी नियम का मिलान नहीं हो जाता है, और फिर आप जो मिलान करते हैं उसके अंत में मैच की स्थिति रखें।" (करने के लिए अनुरूप है कि मेल खाता है, लेकिन तत्व से पहले पार्स स्थिति छोड़ देता है)।
इसलिए हम अतीत के साथ ज़िप करते हैं <a name="28154">
। तब हम अपनी अगली स्थिति के <code>
साथ, जिस के ठीक बाद स्थित होते हैं, की अगली घटना को अतीत में बदल देते हैं >
। PARSE की COPY कमांड तब हमें दूसरे नियम तक डेटा कॉपी करने देती है, इस मामले में वह नियम है [TO </code>]
... इसलिए हम चर C में सब कुछ ठीक होने से पहले तक प्राप्त कर लेते हैं <
।
कूल , हह? :-)
उदाहरण के लिए, मैं इसे और अधिक शेव कर सकता था, उदाहरण के लिए TO "</"
तीन पात्रों को खोजकर और सहेज कर रखता है - </code>
जब आपको बस </
करना होगा तो पूरे एंड टैग से मिलान करने की कोई आवश्यकता नहीं है। इसी तरह के तर्क मुझे शुरू टैग के लिए किए जा सकते थे। लेकिन रेम्बु साक्षर गोल्फ के बारे में है ... भले ही आपको लगता है कि यह पहली बार में अजीब लग रहा है!
अद्यतन : /body
चाल बैग से बाहर है, लेकिन मैं उसी तरह इसे छोड़ने जा रहा हूँ-जैसा है ... क्योंकि मुझे लगता है कि यह इस तरह से अधिक शैक्षिक है।