मैं और भी छोटे कामों के लिए एक बेहतर गोल्फस्क्रिप्ट लिखने की योजना बना रहा हूं जो अधिक चीजें कर सकते हैं। यह कोई चुनौती नहीं है; यह प्रतिक्रिया और अनुरोधों पर एक अनुरोध है कि मुझे क्या करना चाहिए। (टैग देखें)
मुझे यकीन नहीं है कि यह सामुदायिक विकी होना चाहिए। यदि आप ऐसा सोचते हैं, तो एक मॉडरेटर को इसे बदलने के लिए बस झंडा दें :)
यह भाषा गोल्फस्क्रिप्ट के समान होगी। यह अभी भी रूबी में लिखा गया है। हालाँकि, इसके कुछ अंतर हैं:
`
एक स्ट्रिंग सीमांकक के रूप में उपयोग करना , क्योंकि यह एक असामान्य चरित्र है, इसलिए कम भागने की आवश्यकता होगी। (एक अन्य चरित्र अपने कार्य को बदल सकता है, जैसे#
(उस पर बाद में)।\`
एक बैकटिक\\
से बचने के लिए , एक बैकस्लैश से बचने के लिए, और कोई अन्य एस्केप सीक्वेंस नहीं हैं। यदि आपको एक नई पंक्ति की आवश्यकता है, तो स्ट्रिंग में एक वास्तविक शाब्दिक नई पंक्ति चिपकाएँ।Rational
रूबियस एस का उपयोग मनमाने ढंग से सटीक फ्लोटिंग पॉइंट के लिए करना, जो कि गोल्फस्क्रिप्ट की प्रमुख खामियों में से एक है।- प्रकारों को अन्य प्रकारों में बदलने की क्षमता। उदाहरण के लिए, आप किसी ब्लॉक को स्ट्रिंग में बदल सकते हैं।
- नियमित अभिव्यक्ति। शायद के साथ बनाया
"..."
। साथ ही उनके लिए ऑपरेटरों को ओवरलोड किया जाएगा। उदाहरण के लिए,"\W"~{`Invalid: non-word character`}{`OK`}if
। ब्लॉक की तरह एक चर से धक्का दिया जब स्वचालित रूप से निष्पादित करेगा। - फ़ाइल और दिनांक ऑब्जेक्ट, जो कि गोल्फस्क्रिप्ट में असंभव था, अधिक सामान करने के लिए। इनमें शाब्दिक नहीं होंगे, लेकिन इन्हें शुरू करने के लिए कार्य होंगे, जैसे कि
`file.txt`fl
(फ़ाइल-मेकिंग-फ़ंक्शन का नाम बदल सकता है)। - हो सकता है होश आ जाए, लेकिन मुझे उस पर यकीन नहीं है। क्या मैं?
- हेल्पर और भी अधिक करने के लिए कार्य करता है। उदाहरण के लिए,
`http://example.com`net
नेटवर्क एक्सेस के लिए (फिर से,net
ऑपरेटर का नाम बदला जा सकता है)।rb
रूबी कोड के रूप में एक स्ट्रिंग निष्पादित करने के लिए। इनमें से कई और होंगे; सुझावों का स्वागत है। - कोई टिप्पणी नहीं, ताकि
#
कुछ और के लिए इस्तेमाल किया जा सके। यदि आप एक टिप्पणी चाहते हैं,`comment here`;
तो ठीक काम करेगा। (शायद समारोह#
बदल सकते हैं`
) - यह इस तरह से पूरी तरह से फिर से लिखा जाएगा कि कार्यों को जोड़ना बहुत आसान हो जाएगा। मूल रूप से, कोड अधिक पठनीय होगा। (क्या आपने गोल्फस्क्रिप्ट स्रोत देखा है?
:/
) - यह गितुब पर होगा इसलिए इस पर सहयोगात्मक रूप से काम किया जा सकता है। मैं इसे एमआईटी या कुछ के तहत लाइसेंस दूंगा।
- कोई अंतिम न्यूलाइन नहीं, इसलिए धोखा देने वाला काम करता है: पी
और मैं इन्हें अलग कर रहा हूं क्योंकि मुझे लगता है कि वे सबसे कठोर और उपयोगी परिवर्तन हैं (केवल अस्थायी बिंदु को छोड़कर)
- इसमें कई रूबी कार्य अंतर्निहित होंगे। उदाहरण के लिए,
shuffle
(जिसे संक्षिप्त किया जा सकता हैsf
) (पहले लिया गया 9 वर्ण ),tr
(पहले के 14 वर्ण ),sample
(sm
, पहले का.,rand=
),flatten
(fl
, पहले का ???), आदि। - यह रेम्बु की तरह फलीभूत होगी। उदाहरण के लिए, अब आप कर सकते हैं
~:a0<{0a-}aIF
(अक्षर चर नाम का उपयोग करके)~:$0<{0$-}$if
(सॉर्ट फ़ंक्शन को ओवरराइट करने के बजाय )। (उदाहरण यहाँ से ) ध्यान दें कि इस तरह, यह स्थिति-असंवेदनशील है, और चर नामों में संख्याओं की अनुमति नहीं है। यह मेरी राय में ठीक है क्योंकि यह एक गोल्फ भाषा है: पी - इसमें डिबगिंग होगी। मैं एक ध्वज निर्दिष्ट करने की क्षमता जोड़ सकता हूँ सरणी सीमांकक, तत्व सीमांकक, आदि, संख्या आउटपुट (तर्कसंगत, फ्लोट, या इंट?), एक समय में एक निर्देश के माध्यम से कदम, टोकन और कार्यक्रम को चलाने के बजाय प्रत्येक टोकन का उत्पादन करना। आदि।
तो, मेरा सवाल है: क्या सुधार करना है? आपको क्या लगता है मुझे जोड़ना चाहिए?
इसके लिए कोई अन्य विचार, इससे पहले कि मैं इसे कोड करना शुरू करूं?