L @""H!edlllroo,W W,oorlllde!H"" ~@"!dlroW ,olleH"
Спробуйте в Інтернеті!
Рунік, як правило, не дуже добре поводиться з радіацією, оскільки видалення випадкових символів контролю потоку робить простежувальне виконання величезним болем, але передбачуваним випромінюванням, як і всі інші персонажі? Легко, ми просто кодуємо дві програми, які перевернуті один на одного та переплетені, а потім застосуємо третю копію для базового виконання та контролюємо, яка з них виконується одним символом. У програмі 2 третя копія - це сміття, яке ніколи не бачили, а в програмі 3 він зберігає лапки, дозволяючи виводити його без друку.
Програма 1 виконує лише цю частину:
L @"!dlroW ,olleH"
Програма 2 виконує лише цю частину:
" H e l l o , W o r l d ! " @
Подобається це:
"Hello, World!" @!lo olH
Спробуйте в Інтернеті!
Програма 3 виконує лише цю частину:
L @ " ! d l r o W , o l l e H " ~ " d r W , l e "
Подобається це:
L@"!dlroW ,olleH"~"drW,le"
Спробуйте в Інтернеті!
"drW,le"
Частина виконана, але~
immediately pops it off the stack, preserving the desired output.
Наївно, здавалося б, що перетворення відповіді> <> призведе до скорочення програми, вагою в 45 байт:
! ```!!ddllrrooWW oolllleeHH`!!`` R~$ LR $ L
Однак у Runic є одне обмеження, яке> <> не має: максимальний розмір стека 10 + мана IP (що спочатку становить 10). І !!ddllrrooWW oolllleeHH
містить 24 символи, що призводить до того, що IP вимкне ману, поки вона не закінчиться безпосередньо перед виконанням R
команди, в результаті чого для базової програми не буде виводу.
Спробуйте в Інтернеті!