रेम्बु : 9 (डब्ल्यू / जुर्माना) या 13 (बिना)
उबाऊ Rebmu समाधान 9 है और पैलिंड्रोमिक दंड सहन करता है। मैं इसे वैसे भी दिखाऊंगा "सिर्फ इसलिए":
rnRVaVRnr
अक्षरों के कैपिटल रन को सूचित करने की बेजोड़ चाल का उपयोग करना अलग शब्द हैं, और एक प्रमुख कैपिटल रन की कमी का मतलब है कि हम एक सेट-वर्ड नहीं बना रहे हैं, हम पांच सामान्य शब्दों का उत्पादन करते हैं:
rn rv a vr nr
जो समतुल्य कोड के लिए एक शॉर्टहैंड है (कानूनी रूप से रेम्बु भी):
return reverse a vr nr
तथ्य यह है कि वीआर और एनआर अर्थहीन हैं, कोई फर्क नहीं पड़ता, क्योंकि कुछ भी नहीं सौंपा जाने के बावजूद वे मान्य शब्द हैं। तो मूल्यांकनकर्ता केवल चलाता है return reverse a
... यह दोनों तरीकों से काम करता है। लेकिन यह एक तरह से उबाऊ धोखा है: कोड में टिप्पणी नहीं की गई है, लेकिन यह मृत है और एक पथ पर निष्पादित नहीं है।
कुछ और रोमांचक के लिए जो जुर्माना नहीं करता है, इस 13 वर्ण समाधान के बारे में कैसे:
a VR :rv AvrA
आइए देखें कि इसके आगे और पीछे के मार्गों पर यह कैसे संसाधित होता है, जब इसका विस्तार किया जाता है। आगे:
a ; evaluate a, as it is a string it has no side effects
vr: :reverse ; "set" vr to mean what a "get" of reverse means now
a: vr a ; assign a to calling "vr" on a, effectively reversing
; ^-- result of assign is last expression, the answer!
पीछे की ओर इस प्रकार है ArvA vr: RV a
:
a: reverse a ; assign A to its reversal
vr: rv: a ; make the abbreviation vr equal to assignment of a to rv
; ^-- result of assign is last expression, the answer!
नकारात्मक पक्ष पर, पीछे की ओर का संस्करण रिवर्स के लिए संक्षिप्त नाम लिख रहा है। लेकिन हे, यह एक ताल नहीं है, और यह एक मात्र 13 अक्षर है। :-)
(नोट: यह मानता है कि आप Rebmu / args मोड में चल रहे हैं, जहां कमांड लाइन पर दुभाषिया को दिए गए प्रोग्राम के लिए डिफ़ॉल्ट तर्क है और आप परिणाम स्वीकार करते हैं। यदि मानक इनपुट से पढ़ना वास्तव में एक आवश्यकता है, तो चीजें। सरल समाधान के लिए 9 से 11 वर्णों की तरह विकसित करें: rnRVrArVRnr
और यदि आपको दुभाषिए के अभिव्यक्ति आउटपुट को स्वीकार करने के बजाय कार्यक्रम के भीतर से मानक आउटपुट पर प्रिंट करना है, जो कुछ पात्रों को भी जोड़ देगा।)
-1%#%1-/1
या-1%#%(0
?