Rebmu : 9 (con penalità) o 13 (senza)
La noiosa soluzione Rebmu è 9 e sopporta la penalità palindromica. Lo mostrerò comunque "solo perché":
rnRVaVRnr
Usando il trucco poco pratico di notare lettere maiuscole di lettere sono parole separate, e la mancanza di una corsa maiuscola principale significa che non stiamo creando una parola fissa , produciamo cinque parole ordinarie:
rn rv a vr nr
Che è una scorciatoia per il codice equivalente (anche Rebmu legale):
return reverse a vr nr
Il fatto che vr e nr siano privi di significato non importa, perché nonostante non siano assegnati a nulla sono parole valide. Quindi il valutatore esegue solo il return reverse a
... funziona in entrambi i modi. Ma questo è analogo in un certo senso al noioso trucco: il codice non è commentato, ma è morto e non eseguito su un percorso.
Per qualcosa di più eccitante che non comporta penalità, che ne dici di questa soluzione a 13 personaggi:
a VR :rv AvrA
Diamo un'occhiata a come viene elaborato sui percorsi avanti e indietro, quando espanso. Inoltrare:
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!
Indietro come 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!
Sul lato negativo, la variante all'indietro sta sovrascrivendo l'abbreviazione per il contrario. Ma hey, non è un palindromo, ed è solo 13 personaggi. :-)
(Nota: questo presuppone che tu stia eseguendo Rebmu in modalità / args, dove a è l'argomento predefinito al programma passato all'interprete sulla riga di comando e tu accetti il risultato. Se la lettura dall'input standard è effettivamente un requisito, cose crescere ad esempio da 9 a 11 caratteri per la soluzione semplice: rnRVrArVRnr
E se si deve stampare sullo standard output dall'interno del programma invece di accettare l'espressione output dell'interprete che aggiungerebbe anche un paio di caratteri.)
-1%#%1-/1
o-1%#%(0
?