Napisz program, który po uruchomieniu wyświetli własny kod źródłowy i nic więcej. Wydaje się łatwe, prawda?
Problem polega na tym, że po odwróceniu kodu źródłowego program musi wypisać „Witaj, świecie!” dokładnie bez cytatów.
To jest golf golfowy, więc wygrywa najmniejsza liczba bajtów.
Edycja : Twój quine musi być odpowiednim quine.
code-golf
quine
source-layout
hello-world
ericw31415
źródło
źródło
Odpowiedzi:
Y, 19 bajtów
U
przechwytuje ciąg znaków zU
na początku, dopóki nieU
zostanie spełniony następny , w tym przypadku kod źródłowy.p
drukuje element ix
jest linkiem zakończenia. Po odwróceniu wygląda to następująco:To przechwytuje ciąg i drukuje go
p
, ponownie kończąc program za pomocąx
.Wypróbuj tutaj!
źródło
U
popychaU
niejawnie? ಠ_ಠU
polecenie to „polecenie przechwytywania łańcucha”. Nie jest przeznaczony do quitingu, ale to nie powstrzyma mnie przed użyciem go do quitingu. : PU...
tylko kodujeU...
.p
bit zrobił wynik, który był częścią kodowania.p
ix
nie liczą. Na przykład najkrótsza Quine SMBF jest nadal uważana za quine oszukiwającą, nawet jeśli kod musi ją wydrukować. Może warto jednak poprosić Martina o wyjaśnienia.JavaScript (ES6),
4238 bajtówWywrócony
Wyjaśnienie
Po odwróceniu staje się anonimową funkcją zwracającą ciąg znaków
Hello, World!
.Wyrażenie regularne
/\//g
staje się komentarzem po odwróceniu, co pozwala na>=_=f
skomentowanie składni niepoprawnej w odwróconym kodzie.źródło
=_=
.JavaScript (ES6), 71 bajtów
Jak to działa:
Wiersz 1 definiuje funkcję,
trela
która po uruchomieniu wyświetla kod źródłowy programu. Wiersz 2 jest nieprzypisanym łańcuchem, nic nie robi. Linie 3 i 4 wywołujątrela
nadużycie składni ciągu szablonu.Wywrócony:
Jak to działa:
Wiersz 1 jest nieprzypisanym łańcuchem, nic nie robi. Linie 2 i 3 nadużywają składni ciągów szablonów do drukowania
Hello, World!
. Linia 4 to komentarz.źródło
``
niepotrzebny?trela
funkcji (która drukuje quine) w wersji do przodu``
były argumenty. Chłodny.trela
tutaj ...> _>GolfScript, 33 bajty
Naprzód
Wypróbuj online!
Wstecz
Wypróbuj online!
źródło
GolfScript,
2928 bajtówMa jedną końcową linię. Wypróbuj tutaj.
Wywrócony:
Wypróbuj tutaj.
źródło
ZWROT , 94 bajty
Wywrócony:
Try it here.
Wyjścia do STDOUT. Dopóki nie znajdę lepszych ram quine, będzie to na razie musiało wystarczyć.
Wyjaśnienie
Zawiera ciąg znaków quine. Odwrotnie, jest on wypychany na stos, ale nie jest wysyłany.
To wypycha znak zapytania do stosu i wysyła wynik dwukrotnie, dopóki nie zostanie nic do wypisania. Odwrotnie, spowoduje to wydrukowanie znaków już znajdujących się na stosie.
Ten wyskakuje z górnego elementu stosu (na odwrót, by to oznaczało znak spacji) i wypycha serię znaków do stosu (na odwrót te znaki były później drukowane przez serię
,
).źródło
Rozszczepienie 2, 42 bajty
Bezwstydna adaptacja doskonałego quinu autorstwa @ MartinBüttner w tej odpowiedzi
Wypróbuj online
I odwrócone
Wypróbuj online
W wersji quine atom zaczyna się od
R
nagłówka po prawej stronie. W"
uruchamia tryb który owija się kolejna wydrukować"
(sama). Spowoduje to wydrukowanie wszystkiego oprócz"
.'!+
ustaw atom na char"
.O
wypisuje go i niszczy atom kończący program.Odwrócona wersja zaczyna się od
R
nowa i dla każdej postaci wHello, World
zestawie ustawia atom i drukuje!
go bez niszczenia atomu. Dla ostatecznej postaci!
odciskO
niszczy atom.źródło
JavaScript ES6, 55 bajtów
Naprawdę proste.
źródło
Python 2, 131 bajtów
Naprzód:
Rewers:
Pierwsza połowa to quine w jednym wierszu, po której następuje
#
komentarz oddzielający pierwszą połowę od prostszej drugiej połowy.źródło
_='_=%r;print _%%_#"!dlroW ,olleH"tnirp';print _%_#"!dlroW ,olleH"tnirp
C, 108 bajtów
źródło
Python 2, 70 bajtów
źródło