Línea de montaje Code-Golf

9

Nota: Este desafío no tiene nada que ver con el lenguaje ensamblador real.


Como jefe de Code-Golf Factory Inc. , debe crear una línea de ensamblaje para generar un código específico. Hoy, el capataz le ha pedido que produzca quines.

Especificación:

En este desafío, el objetivo es escribir una quine de manera que una subsección adecuada también sea una quine.

Este es el código de golf, por lo que gana la menor cantidad de bytes (del programa principal). Las lagunas estándar están prohibidas, y tanto el programa principal como la subsección deben ser verdaderos quines.

La subsección debe tener al menos 2 caracteres más cortos que el programa principal, lo que significa que la puntuación mínima es de 3 bytes.

Solo necesita 1 subsección de su elección para trabajar.

Julian Lachniet
fuente
¿Esto necesita funcionar para todas las subsecciones posibles del código?
Tyler
@JulianLachniet Creo que la parte que necesita aclaración es "una subsección de su preferencia ".
Erik el Outgolfer
99
Debo decir que cada vez que veo una pregunta de Quine, mi cabeza se cortocircuita de inmediato.
Daniel

Respuestas:

4

Jalea , 5 bytes

”ṘṘ10

Pruébalo en línea!

La subsección ”ṘṘtambién es una quine. Pruébalo en línea!

Erik el Outgolfer
fuente
El programa principal no es una verdadera quine.
Leaky Nun
1
@LeakyNun Bueno, ”ṘṘes una quine verdadera y la definición de una quine verdadera es que una parte de su código identifica otra parte , en este caso, ”Ṙidentifica la otra . No creo que lo agregado 10haga que el ”Ṙno identifique al otro más.
Erik the Outgolfer
2

Alice , 13 bytes

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

Pruébalo en línea!

Esto también es una quine:

"!&d<@o&dh.

Pruébalo en línea!

Esto modifica la quine estándar al borrar la pila antes de que se presione la cadena relevante y al usar la altura de la pila para determinar cuántos bytes se generarán. Esto permite que cualquier no-op se agregue al final.

Nitrodon
fuente
0

Python 2, 60 bytes

Esta es una respuesta realmente simple, por lo que probablemente haya una más corta. Esta es solo la quine estándar de Python dos veces. Se requiere la nueva línea final.

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

Pruébalo en línea

mbomb007
fuente
0

Fisión , 35 bytes

O abcdefghijklmnopqrstuvwxyz '#_OR"

Pruébalo en línea!

Un átomo comienza a Rviajar a la derecha. Los "conmuta el modo de impresión, por lo que se envuelve alrededor de las impresiones y todo hasta que encuentra "de nuevo. Esto detiene la impresión y establece la masa del átomo en el número de caracteres impresos (34). Se envuelve nuevamente, Odestruye el átomo e imprime el carácter ASCII representado por su masa, que es ".

Contiene la quine de fisión simple,

'#_OR"

Pruébalo en línea!

Aquí, '#establece la masa del átomo en el valor ASCII de #(35) y la _disminuye para que elO imprima una comilla.

Fisión , 8 bytes.

'#_O  R"

Dado que el quine simple anterior comienza Ry termina en O, cualquier quine de longitud puede crearse trivialmente agregando caracteres entre los dos.

KSmarts
fuente