Rebmu : 9 ( dg hukuman) atau 13 (tanpa)
Solusi Rebmu yang membosankan adalah 9 dan dikenakan penalti palindrom. Saya akan tetap menunjukkannya "hanya karena":
rnRVaVRnr
Dengan menggunakan trik yang tak terbendung dari memperhatikan huruf kapital adalah kata-kata yang terpisah, dan tidak adanya huruf besar berarti kita tidak membuat kata-kata, kita menghasilkan lima kata biasa:
rn rv a vr nr
Yang merupakan singkatan untuk kode yang setara (juga hukum Rebmu):
return reverse a vr nr
Fakta bahwa vr dan nr tidak ada artinya tidak masalah, karena meskipun tidak ditugaskan untuk apa pun mereka adalah kata-kata yang valid. Jadi evaluator hanya menjalankan return reverse a
... ia bekerja dua arah. Tapi ini analog dengan cheat yang membosankan: kode tidak dikomentari, tapi sudah mati dan tidak dieksekusi di satu jalur.
Untuk sesuatu yang lebih menarik yang tidak dikenakan penalti, bagaimana dengan solusi 13 karakter ini:
a VR :rv AvrA
Mari kita lihat bagaimana ini diproses pada jalur maju dan mundurnya, ketika diperluas. Meneruskan:
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!
Mundur sebagai 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!
Pada sisi negatifnya, varian mundur menimpa singkatan untuk terbalik. Tapi hei, itu bukan palindrome, dan itu hanya 13 karakter. :-)
(Catatan: Ini mengasumsikan Anda menjalankan Rebmu dalam mode / args, di mana a adalah argumen default untuk program yang diteruskan ke penerjemah pada baris perintah dan Anda menerima hasilnya. Jika membaca dari input standar sebenarnya merupakan persyaratan, hal-hal tumbuh misalnya dari 9 hingga 11 karakter untuk solusi sederhana:. rnRVrArVRnr
Dan jika Anda harus mencetak ke output standar dari dalam program alih-alih menerima output ekspresi dari interpreter yang akan menambahkan beberapa karakter juga.)
-1%#%1-/1
atau-1%#%(0
?