"L;L'!+!'_
Попробуйте онлайн!
Это печатает:
_'!+!'L;L"
Попробуйте онлайн!
И наоборот.
объяснение
Это модификация обратного квина . Это работает в наших интересах здесь, который !
используется для печати, а также находится всего в одном коде от цитаты "
. Это облегчает создание секции печати цитат палиндромной ( '!+!'
). Давайте начнем с первого кода:
"L;L'!+!'_
Эта программа имеет две точки входа в точке L
s, каждая из которых создает левый атом. Тем не менее, правильный сразу попадает в тот, ;
который разрушает его. Левый вводит строковый режим и оборачивается до конца, так что печатает весь код (кроме "
) сзади-спереди. Это уже дает нам _'!+!'L;L
. Осталось только распечатать "
. _
может быть проигнорировано, '!
устанавливает массу атома равной 33 (кодовая точка !
), +
увеличивает ее "
и !
печатает. Это все, что сделано на выходе. В 'L
устанавливает атомы массы до точки коды , L
но это не имеет значения. ;
уничтожает также и этот атом, и так как не осталось ни одного атома, программа завершается.
Теперь наоборот:
_'!+!'L;L"
Опять же, у нас есть две точки входа, но один атом немедленно уничтожается. На этот раз мы !+!'
сначала перемещаемся по разделу, поэтому начнем с печати цитаты. '_
Снова не имеет значения, но нам нужен _
(или какой -либо другой бесполезный персонаж) здесь , чтобы избежать возможности '
избежать "
. Атом доходит до конца, перебирает исходный код один раз в строковом режиме, чтобы напечатать остальную часть программы в обратном порядке, L
затем игнорируется и ;
уничтожает атом и завершает программу.