परिचय
यह साइट तेजी से कोड स्निपेट्स के विशाल डेटासेट का निर्माण कर रही है, तो चलो इसके साथ कुछ करते हैं!
यहाँ एक डेटा फ़ाइल है । इसमें 113 भाषाओं के लिए 9,066 अद्वितीय भाषा + स्निपेट जोड़े शामिल हैं, सभी इस साइट से लिए गए हैं। प्रारूप टैब-अलग-अलग है (भाषा-TAB- स्निपेट), स्निपेट में सभी नए समाचारों के साथ प्रतिस्थापित किया गया <LF>
, और सभी टैब 4 स्थानों के साथ बदल दिए गए। प्रत्येक भाषा के लिए कम से कम 5 स्निपेट हैं।
[अद्यतन: मैंने कुछ पायथन और RegExp संस्करणों को मर्ज करने के लिए डेटा फ़ाइल में एक मामूली बदलाव किया है, जो मैंने पहले याद किया था - ऊपर लिंक अपडेट किया गया है]
चुनौती
एक प्रोग्राम या फ़ंक्शन लिखें जो एक कोड स्निपेट लेता है और उस भाषा को आउटपुट करता है जो इसमें लिखा गया है (विवरण के लिए नीचे देखें)। आपके स्रोत का कुल आकार + आपके लिए आवश्यक कोई भी डेटा 300 बाइट्स या उससे कम होना चाहिए , और आपका प्रोग्राम होना चाहिए सही स्रोत कोड दिए जाने पर सही भाषा आउटपुट । उच्चतम सटीकता (उपरोक्त डेटासेट पर सबसे सही उत्तर) जीतता है।
नियम
- आपके स्रोत कोड, संसाधनों और किसी भी आवश्यक संकलन / रनटाइम फ़्लैग का कुल आकार 300 बाइट से अधिक नहीं होना चाहिए।
- आपका जवाब ऊपर के डाटासेट के खिलाफ परीक्षण किया जाएगा; इसे इनपुट के रूप में "स्निपेट" मानों में से एक दिया जाएगा और इसके आउटपुट की तुलना डेटासेट के अनुसार "सही" आउटपुट से की जाएगी। यह डेटासेट में सभी प्रविष्टियों के लिए दोहराया जाएगा और सही उत्तरों की अंतिम संख्या आपका स्कोर है।
- आप इनपुट एन्कोडिंग का चयन कर सकते हैं - मैं UTF-8 मान लूंगा, इसलिए यदि आपको किसी अन्य एन्कोडिंग की आवश्यकता है तो इसे अपने उत्तर में निर्दिष्ट करें।
- आपको
<LF>
नई लाइनों के प्रतिस्थापन का उपयोग करने की आवश्यकता नहीं है; यदि आपकी प्रविष्टि को शाब्दिक newlines (char 10) के रूप में newlines प्राप्त करने की उम्मीद है, तो इसे अपने उत्तर में निर्दिष्ट करें। - आपकी प्रविष्टि को उस भाषा को आउटपुट करना होगा जो यह सोचती है कि इनपुट स्निपेट में लिखा गया है। भाषा के बहुत सारे तार को संपीड़ित करने की आवश्यकता से बचने के लिए, मैं मैपिंग की अनुमति दूंगा (यदि आप "जावा" के लिए 3 आउटपुट करना चाहते हैं, तो यह ठीक है); बस अपने उत्तर में मैपिंग पर ध्यान दें।
- आप प्रत्येक भाषा के लिए केवल 1 आउटपुट मैपिंग कर सकते हैं (अर्थात यदि 3 का अर्थ "जावा" है, तो आपके पास 4 अर्थ "जावा" भी नहीं हो सकते)।
- जब अपना स्वयं का सोर्स कोड दिया जाता है, तो आपके प्रोग्राम को सही उत्तर देना चाहिए (जिस भाषा में यह लिखा गया है उसे आउटपुट करना चाहिए)।
- आपको डेटासेट में सभी भाषाओं का समर्थन करने की आवश्यकता नहीं है, और यदि आप चाहते हैं तो आप अतिरिक्त भाषाओं का समर्थन कर सकते हैं (जैसे कि यदि आपकी प्रविष्टि डेटासेट में किसी भाषा में नहीं है)।
- आपका कार्यक्रम नियतात्मक होना चाहिए (एक ही इनपुट प्रदान करना दो बार एक ही आउटपुट का उत्पादन करना चाहिए)।
टाई को तोड़ने
- एक प्रविष्टि जीतने तक डेटासेट को कम करके टाई का निर्णय लिया जाएगा। सबसे लोकप्रिय भाषा के लिए सभी स्निपेट को हटाकर डेटासेट को कम कर दिया जाएगा (यानी दुर्लभ भाषाओं पर सटीकता से संबंध टूट जाता है)। उदाहरण के लिए, यदि पूर्ण डेटासेट पर ए और बी स्कोर 70% है, तो सभी पायथन स्निपेट हटा दिए जाएंगे। यदि A और B दोनों अब 60% स्कोर करते हैं, तो CJam को हटा दिया जाएगा। यदि A अब 50% स्कोर करता है, लेकिन B स्कोर 55% है, तो B विजेता है।
- यदि 100% सटीकता हासिल की जाती है, तो एक ही भाषा के लिए अधिक नमूनों वाले एक दूसरे (अंधे) डेटासेट का उपयोग करके संबंधों का निर्णय लिया जाएगा।
उदाहरण 1
पायथन लिपि:
print("python")
यह स्क्रिप्ट सफलतापूर्वक अपने स्रोत कोड दिए जाने पर "अजगर" का उत्पादन करती है, इसलिए यह मान्य है। डेटासेट पर, यह 1008/9066 = 11.1% स्कोर करता है
उदाहरण 2
जावास्क्रिप्ट समारोह:
function f(s){return /function/.test(s)?1:2}
मैपिंग के साथ 1 → जावास्क्रिप्ट, 2 → पायथन। फिर से यह अपने स्वयं के स्रोत के लिए 1 ("जावास्क्रिप्ट") का सफलतापूर्वक उत्पादन करता है, और डेटासेट पर इसका स्कोर 1092/9066 - 12%% होता है
डेटा कहां से आया?
मैंने इस साइट पर [कोड-गोल्फ] चुनौतियों से नमूने खींचने के लिए एक SEDE क्वेरी बनाई । परिणामी 10,000 उत्तरों से, मैंने प्रत्येक के लिए कोड और भाषा के नाम को खोजने के लिए एक हैक-किए गए अजगर स्क्रिप्ट का उपयोग किया, फिर किसी भी भाषा को 5 से कम उदाहरणों के साथ फ़िल्टर किया। डेटा 100% साफ नहीं है (मुझे पता है कि कुछ गैर-कोड स्निपेट हैं जो इसे खींचे गए हैं), लेकिन पर्याप्त अच्छा होना चाहिए।
वर्ष में पहले से इस चुनौती से प्रेरित: किसने कहा? 2016 का राष्ट्रपति चुनाव
इसके अलावा आंशिक रूप से व्हाट्स लैंग्वेज से संबंधित है ?