L @""H!edlllroo,W W,oorlllde!H"" ~@"!dlroW ,olleH"
Essayez-le en ligne!
Runic n'est généralement pas très doué pour gérer les radiations, car le fait de retirer les caractères de contrôle de flux au hasard rend l'exécution du traçage très difficile, mais les radiations prévisibles comme tous les autres personnages? Facile, nous encodons simplement deux programmes qui sont inversés l'un de l'autre et entrelacés, puis clouons sur une troisième copie pour l'exécution de base et contrôlons laquelle est exécutée avec un seul caractère. Dans le programme 2, la troisième copie est une ordure qui n'a jamais été vue, et dans le programme 3, elle conserve les guillemets, ce qui lui permet d'être sauté sans l'imprimer.
Le programme 1 exécute uniquement cette partie:
L @"!dlroW ,olleH"
Le programme 2 exécute uniquement cette partie:
" H e l l o , W o r l d ! " @
Comme ça:
"Hello, World!" @!lo olH
Essayez-le en ligne!
Le programme 3 exécute uniquement cette partie:
L @ " ! d l r o W , o l l e H " ~ " d r W , l e "
Comme ça:
L@"!dlroW ,olleH"~"drW,le"
Essayez-le en ligne!
La "drW,le"
portion est exécutée, mais le~
sort immédiatement de la pile, préservant la sortie souhaitée.
Naïvement, il semblerait qu'une conversion de la réponse> <> entraînerait un programme plus court, pesant 45 octets:
! ```!!ddllrrooWW oolllleeHH`!!`` R~$ LR $ L
Cependant, Runic a une limitation que> <> n'a pas: une taille de pile maximale de 10 + mana IP (qui est initialement 10). Et !!ddllrrooWW oolllleeHH
contient 24 caractères, provoquant une perte de mana de l'IP jusqu'à son expiration juste avant l'exécution de la R
commande, ce qui n'entraîne aucune sortie pour le programme de base.
Essayez-le en ligne!