Напишите программу, которая будет выводить свой собственный исходный код при запуске, и ничего больше. Кажется легко, правда?
Загвоздка в том, что при изменении исходного кода ваша программа должна вывести «Hello, World!» точно, без кавычек.
Это код-гольф, поэтому выигрывает меньшее количество байтов.
Редактировать : Ваша квина должна быть правильной.
code-golf
quine
source-layout
hello-world
ericw31415
источник
источник
Ответы:
Y 19 байт
U
захватывает строкуU
в начале, покаU
не встретится следующая , в данном случае, исходный код.p
печатает элемент иx
является завершающей ссылкой. В обратном порядке это выглядит так:Это захватывает строку и печатает ее
p
, снова завершая программу сx
.Попробуй это здесь!
источник
U
толкаетU
неявно? ಠ_ಠU
команда - это «команда захвата звена цепи». Он не предназначен для квинтинга, но это не помешает мне использовать его для квинтинга. : PU...
просто кодируетU...
.p
бит сделал вывод, который был частью кодирования.p
иx
не засчитал бы. Например, самая короткая SMBF-квина все еще считается мошеннической, хотя код должен ее распечатать. Возможно, стоит попросить Мартина дать разъяснения.JavaScript (ES6),
4238 байтПеревернутый
объяснение
При обращении становится анонимной функцией, которая возвращает строку
Hello, World!
.Регулярное выражение
/\//g
становится комментарием при обращении, что позволяет синтаксически неверно>=_=f
закомментировать в обратном коде.источник
=_=
.JavaScript (ES6), 71 байт
Как это устроено:
Строка 1 определяет функцию,
trela
которая при запуске выводит исходный код программы. Строка 2 - это неназначенная строка, ничего не делает. Строки 3 и 4 вызываютtrela
злоупотребление синтаксисом строки шаблона.Перевернутый:
Как это устроено:
Строка 1 - это неназначенная строка, ничего не делает. Строки 2 и 3 используют синтаксис строки шаблона для печати
Hello, World!
. Строка 4 является комментарием.источник
``
ненужное?trela
функцию (которая печатает квинну) в форвардной версии``
были аргументы. Здорово.trela
здесь ...> _>GolfScript, 33 байта
Вперед
Попробуйте онлайн!
задом
Попробуйте онлайн!
источник
GolfScript,
2928 байтУ него есть один завершающий символ новой строки. Попробуй это здесь.
Перевернутый:
Попробуй это здесь.
источник
ВОЗВРАТ , 94 байта
Перевернутый:
Try it here.
Выходы в STDOUT. Пока я не найду более подходящую среду для работы с квайнами, сейчас это нужно делать.
объяснение
Это содержит строку quine. В обратном направлении это помещается в стек, но не выводится.
Это помещает символ кавычки в стек и выводит результат дважды, пока не останется ничего для вывода. В обратном порядке это напечатает коды, уже находящиеся в стеке.
Этот объект выводит верхний элемент стека (в обратном порядке это приводит к появлению пробела) и помещает в стек серию кодов (в обратном порядке эти коды будут впоследствии напечатаны серией символов
,
).источник
Деление 2, 42 байта
Бесстыдная адаптация превосходной квинны от @ MartinBüttner в этом ответе
Попробуйте онлайн
И поменял местами
Попробуйте онлайн
В версии Quine атом начинается в
R
заголовке справа. В"
начинается режим , который оборачивает к следующей печати"
(сам). Это печатает все, кроме"
.'!+
установите атом на символ"
.O
распечатывает его и уничтожает атом, заканчивая программу.Обращенная версия начинается
R
снова и для каждого символа вHello, World
наборе атома и печатает!
его, не разрушая атом. Для последнего символа!
печатьO
уничтожает атом.источник
Javascript ES6, 55 байт
Все очень просто.
источник
Python 2, 131 байт
Вперед:
Задний ход:
Первая половина - это строка в одну строку, за которой
#
следует комментарий, отделяющий первую половину от более простой второй.источник
_='_=%r;print _%%_#"!dlroW ,olleH"tnirp';print _%_#"!dlroW ,olleH"tnirp
C 108 байтов
источник
Python 2, 70 байт
источник