Linia montażowa Code-Golf

9

Uwaga: to wyzwanie nie ma nic wspólnego z rzeczywistym językiem asemblera.


Jako szef Code-Golf Factory Inc. musisz utworzyć linię montażową, aby wygenerować określony fragment kodu. Dzisiaj brygadzista poprosił cię o wyprodukowanie quines.

Specyfikacja:

W tym wyzwaniu celem jest napisanie quinu w taki sposób, aby jego odpowiedni podrozdział był również quine.

To jest golf golfowy, więc wygrywa najmniej bajtów (programu głównego). Standardowe luki są zabronione, a zarówno program główny, jak i podsekcja muszą być prawdziwymi quinesami.

Podsekcja musi być co najmniej 2 znaki krótsza niż program główny, co oznacza, że ​​minimalny wynik to 3 bajty.

Do pracy potrzebujesz tylko 1 wybranej podsekcji.

Julian Lachniet
źródło
Czy to musi działać dla wszystkich możliwych podsekcji kodu?
Tyler,
@JulianLachniet Myślę, że część wymagająca wyjaśnienia to „podsekcja twoich preferencji ”.
Erik the Outgolfer
9
Muszę powiedzieć, że ilekroć widzę pytanie Quine'a, moja głowa natychmiast się zwiera.
Daniel

Odpowiedzi:

4

Galaretka , 5 bajtów

”ṘṘ10

Wypróbuj online!

Podsekcja ”ṘṘjest również quine. Wypróbuj online!

Erik the Outgolfer
źródło
Główny program nie jest prawdziwym quine.
Leaky Nun
1
@LeakyNun Cóż, ”ṘṘjest to prawdziwa quine, a definicja prawdziwej quine polega na tym, że część twojego kodu identyfikuje inną część , w tym przypadku ”Ṙdrugą . Nie sądzę, że dodane 10sprawia, że ”Ṙnie można już zidentyfikować drugiego .
Erik the Outgolfer
2

V , 13 bajtów

ñÉÑ~"qpx:2i2i

Wypróbuj online!

Podsekcja 2i2ijest również quine.

James
źródło
2

Alice , 13 bajtów

"!&d<@o&dh.##

Wypróbuj online!

Jest to również quine:

"!&d<@o&dh.

Wypróbuj online!

To modyfikuje standardową quine przez wyczyszczenie stosu przed wypchnięciem odpowiedniego łańcucha i użycie wysokości stosu do określenia, ile bajtów ma zostać wyprowadzonych. Pozwala to na dodanie dowolnego no-op na końcu.

Nitrodon
źródło
0

Python 2, 60 bajtów

To jest naprawdę prosta odpowiedź, więc prawdopodobnie jest krótsza. Jest to tylko standardowa quine Python dwa razy. Końcowy znak nowej linii jest wymagany.

_='_=%r;print _%%_';print _%_
_='_=%r;print _%%_';print _%_

Wypróbuj online

mbomb007
źródło
0

Rozszczepienie , 35 bajtów

O abcdefghijklmnopqrstuvwxyz '#_OR"

Wypróbuj online!

Atom zaczyna Rpodróżować w prawo. W "przełącza tryb drukowania, więc otacza i drukuje wszystko, dopóki nie napotka "ponownie. Zatrzymuje to drukowanie i ustawia masę atomu na liczbę drukowanych znaków (34). Znowu się owija, Oniszczy atom i drukuje znak ASCII reprezentowany przez jego masę, którą jest" .

Zawiera prosty quine rozszczepienia,

'#_OR"

Wypróbuj online!

Tutaj '#ustawia masę atomu na wartość ASCII #(35) i _zmniejsza go tak, abyO drukował znak cudzysłowu.

Rozszczepienie , 8 bajtów

'#_O  R"

Ponieważ powyższa prosta quine zaczyna się Ri kończy o O, quine o dowolnej długości można w prosty sposób utworzyć, dodając znaki między nimi.

KSmarts
źródło