Вы должны создать полиглот, который выводит свой исходный код на одном языке, а исходный код обратно на другом. В отличие от обычных правил, вам разрешено читать текущий файл или использовать встроенную функцию, чтобы получить исходный код вашего представления и отменить его на одном языке. Ваш исходный код не может быть палиндромом.
Например, если ваш исходный код есть abcxyz
, он должен выводиться abcxyz
на одном языке и zyxcba
на другом. Если ваш код abcxyzyxbca
, он недействителен, потому что это палиндром.
Удачи!
Ответы:
PHP & GolfScript, 2 байта
т.е. перевод строки и цифра 1.
Это обратная Куайн в GolfScript , способствовали на этом сайте по Джастину . PHP не вызвал, что это язык программирования, поэтому он печатает свой ввод.
источник
Python 2 / Python 3, 71 байт
Не использует встроенные функции quine.
Спасибо овам за то, что они вообще меня разбудили.
источник
lambda _='lambda _=%r:(_%%_)[::int(1-(1/2)*4)]':(_%_)[::int(1-(1/2)*4)]
для 71 байтПакет / bash + tac, 39 байт
Выводит вперёд в пакетном режиме. Объяснение: Пакет видит первую строку как метку и игнорирует ее, а вторая строка просто копирует исходный файл в STDOUT. (Обратите внимание, что вам нужно вызвать файл с расширением или изменить его
%0
на%~f0
.)bash
Видит четыре команды::
ничего не делает (так же, какtrue
)tac -r -s '.\|'$'\n' $0
-r
переводитtac
в режим регулярных выражений-s
указывает регулярное выражение'.\|'$'\n'
это регулярное выражение, состоящее из.
любой символ кроме новой строки\|
или$'\n'
новая строкаtac
файл разбивается на символы, а не на строки.exit
останавливает скрипт, игнорируя четвертую команду@type %0
(Игнорируется)источник
:;rev $0|tac;exit
. Кроме того, заголовок должен содержать Batch / sh + util-linux + coreutils .$'\n'
- это Bashism, неправильно корректируетrev $0|tac
переводы строки, и действительно ли имеет значение, чтоtac
входит в пакет?$'\n'
не существует в предложенной мной замене иrev $0|tac
работает на меня. И я думаю, что лучше указывать пакеты, а не отдельные утилиты, потому что иногда может возникнуть путаница (например, какой пакетtac
?).PHP & Retina, 2 байта
Так же, как ответ Джилла на PHP и GolfScript.
PHP просто читает код и выводит его напрямую, Retina заменит совпадения с пустой строкой на входе, заменит ее на 1 и выведет ее на новую строку.
источник
JS (ES5), JS (ES6), 94 байта
Не использует встроенные функции quine. Просто используется тот факт, что функции JS преобразуются в их код. Вероятно, можно играть в гольф больше.
источник
Если вы разрешаете читать исходный код, это на самом деле не квин.
PHP & sh + util-linux, 6 байт
Я уверен, что обычные языки игры в гольф могут сделать это в 2 байта.
источник