Ligne d'assemblage Code-Golf

9

Remarque: ce défi n'a rien à voir avec le langage d'assemblage réel.


En tant que responsable de Code-Golf Factory Inc. , vous devez créer une chaîne de montage pour générer un morceau de code spécifique. Aujourd'hui, le contremaître vous a demandé de réaliser des quines.

Spécification:

Dans ce défi, le but est d'écrire une quine de telle sorte qu'une sous-section appropriée soit également une quine.

Il s'agit de code-golf, donc le moins d'octets (du programme principal) l'emporte. Les failles standard sont interdites et le programme principal et la sous-section doivent être de véritables quines.

La sous-section doit être au moins 2 caractères plus courte que le programme principal, ce qui signifie que le score minimum est de 3 octets.

Vous n'avez besoin que d'une sous-section de votre choix pour travailler.

Julian Lachniet
la source
Est-ce que cela doit fonctionner pour toutes les sous-sections possibles du code?
Tyler
@JulianLachniet Je pense que la partie à clarifier est "une sous-section de votre préférence ".
Erik the Outgolfer
9
Je dois dire que chaque fois que je vois une question Quine, ma tête court-circuite immédiatement.
Daniel

Réponses:

4

Gelée , 5 octets

”ṘṘ10

Essayez-le en ligne!

La sous ”ṘṘ- section est également une quine. Essayez-le en ligne!

Erik le Outgolfer
la source
Le programme principal n'est pas une vraie quine.
Leaky Nun
1
@LeakyNun Eh bien, ”ṘṘc'est un vrai quine et la définition d'un vrai quine est qu'une partie de votre code identifie une autre partie , dans ce cas, l' ”Ṙidentifie l'autre . Je ne pense pas que l'ajout ne 10fasse ”Ṙplus identifier l'autre .
Erik the Outgolfer
2

V , 13 octets

ñÉÑ~"qpx:2i2i

Essayez-le en ligne!

La sous-section 2i2i - est également une quine.

James
la source
2

Alice , 13 octets

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

Essayez-le en ligne!

C'est aussi une quine:

"!&d<@o&dh.

Essayez-le en ligne!

Cela modifie le quine standard en effaçant la pile avant que la chaîne appropriée ne soit poussée et en utilisant la hauteur de la pile pour déterminer le nombre d'octets à afficher. Cela permet à tout no-op d'être ajouté à la fin.

Nitrodon
la source
0

Python 2, 60 octets

C'est une réponse vraiment simple, donc il y en a probablement une plus courte. C'est juste le quine Python standard deux fois. La nouvelle ligne de fin est requise.

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

Essayez-le en ligne

mbomb007
la source
0

Fission , 35 octets

O abcdefghijklmnopqrstuvwxyz '#_OR"

Essayez-le en ligne!

Un atome commence à Rvoyager à droite. Le "mode d'impression bascule, donc il s'enroule autour et imprime tout jusqu'à ce qu'il rencontre à "nouveau. Cela arrête l'impression et définit la masse de l'atome sur le nombre de caractères imprimés (34). Il s'enroule à nouveau, Odétruit l'atome et imprime le caractère ASCII représenté par sa masse, qui est ".

Il contient le simple quine de Fission,

'#_OR"

Essayez-le en ligne!

Ici, '#définit la masse de l'atome sur la valeur ASCII de #(35) et la _décrémente de sorte que le Oimprime un guillemet.

Fission , 8 octets

'#_O  R"

Puisque le quine simple ci-dessus commence à Ret se termine à O, n'importe quel quine de longueur peut être créé de manière triviale en ajoutant des caractères entre les deux.

KSmarts
la source