जब मुझे कोड-गोल्फ प्रविष्टियां दिखाई देती हैं, जो कुछ वर्णों को बंद कर देती हैं, तो कोड को नीचे गिराते हुए, मैं साइड-बाय-साइड अंतर के लिए संपादित इतिहास को देखता हूं। देखें और जानें :)
यह चुनौती एक प्रोग्राम बनाने के लिए है जो सबसे सुंदर एनिमेटेड अंतर पैदा करता है।
- इनपुट पाठ संस्करणों की किसी भी क्रमबद्ध श्रृंखला होगी।
- कार्यक्रम किसी भी प्रोग्रामिंग भाषा में लिखा जा सकता है।
- यह अनुमति दी जाती है कि कार्यक्रम कुछ विशिष्ट प्रोग्रामिंग भाषाओं में इनपुट डेटा तक ही सीमित है।
- कार्यक्रम को विशिष्ट इनपुट डेटा के लिए ट्यून नहीं किया जाना चाहिए; कार्यक्रम सामान्य होना चाहिए और पाठ संस्करणों की किसी भी क्रमबद्ध श्रृंखला के लिए काम करना चाहिए।
- इनपुट में प्रत्येक संस्करण के लिए आउटपुट एनीमेशन में एक समान समय होना चाहिए जहां संस्करण का पूरा पाठ प्रदर्शित होता है। आपको संस्करण चरणों के बीच अंतर को चेतन करना होगा, और सभी संस्करण चरणों को आउटपुट में और वर्तमान में होना चाहिए। इन मुख्य फ़्रेमों पर, संस्करण का आकार दिखाया जाना चाहिए और दर्शक को यह समझना चाहिए कि यह एक पूर्ण संस्करण है जो वे उस बिंदु पर देख रहे हैं।
- हो सकता है कि प्रोग्राम किसी तीसरे पक्ष के कोड का उपयोग अंतर की गणना करने के लिए न करे।
- सिंटैक्स हाइलाइटिंग आउटपुट वैकल्पिक है। यदि प्रोग्राम सिंटैक्स को रंग देता है, तो ऐसा करने के लिए वह किसी तीसरे पक्ष के कोड का उपयोग नहीं कर सकता है।
- आउटपुट एक एनिमेटेड GIF होगा।
- GIF को लेखक करने के लिए कार्यक्रम तीसरे पक्ष के पुस्तकालय का उपयोग कर सकता है।
- यह एक लोकप्रियता-प्रतियोगिता है , इसलिए इस साइट पर लोकप्रियता-प्रतियोगिता की परिभाषा के अनुसार , सबसे अधिक वोटों के साथ प्रवेश जीतता है ।
यहाँ एक सरल उदाहरण स्क्रिप्ट है जो पायथन के ndiff और तकिया के अल्पविकसित एनिमेटेड GIF समर्थन का उपयोग करता है और प्रत्येक ऐड और स्टेप को हटाता है:
व्यक्तिगत रूप से, मुझे लगता है कि यह एक बहुत खराब काम है। यह सिंटैक्स हाइलाइटिंग नहीं करता है, यह कोशिश नहीं करता है और कोड विखंडू को स्थानांतरित करता है जो पुनर्व्यवस्थित हो जाता है, ऐसा महसूस नहीं होता है कि कोई व्यक्ति इसे संपादित कर रहा है, और इसी तरह। यह कुंजी तख्ते पर बाइट्स में इनपुट के आकार को दिखाने वाले नियमों को भी तोड़ता है, और यह थर्ड पार्टी लाइब्रेरी का उपयोग करता है। सुधार के लिए कमरे के बहुत सारे!
और उम्मीद है कि लोकप्रिय प्रविष्टियाँ codegolf.stackexchange.com समुदाय के लिए भी उपयोगी मजेदार उपकरण बन जाएंगी। अगर कार्यक्रमों को चलाना और उपयोग में लाना आसान हो तो इसकी सराहना की जाती है।