Escriba un programa que genere su propio código fuente cuando se ejecute, y nada más. Parece fácil, ¿verdad?
El problema es que cuando se invierte el código fuente, su programa debe mostrar "¡Hola, mundo!" exactamente, sin las comillas.
Este es el código de golf, por lo que gana el conteo de bytes más bajo.
Editar : Su quine debe ser una quine adecuada.
code-golf
quine
source-layout
hello-world
ericw31415
fuente
fuente

Respuestas:
Y, 19 bytes
Ucaptura una cadenaUal principio hasta queUse cumpla el siguiente , en este caso, el código fuente.pimprime el artículo yxes un enlace de terminación. Cuando se invierte, esto se ve así:Esto captura la cadena y la imprime con
p, nuevamente terminando el programa conx.Pruébalo aquí!
fuente
UempujaUimplícitamente? ಠ_ಠUcomando es el "comando de captura de enlace de cadena". No está hecho para quining, pero eso no me impedirá usarlo para quining. : PU...solo codificaU....pbit hizo la salida, que era parte de la codificación.pyxno contaría. Por ejemplo, la quine SMBF más corta todavía se considera una quine trampa, a pesar de que el código tiene que imprimirla. Sin embargo, podría valer la pena pedirle una aclaración a Martin.JavaScript (ES6),
4238 bytesInvertido
Explicación
Cuando se invierte, se convierte en una función anónima que devuelve la cadena
Hello, World!.La expresión regular se
/\//gconvierte en un comentario cuando se invierte, lo que permite que el valor sintácticamente inválido se comente>=_=fen el código invertido.fuente
=_=.JavaScript (ES6), 71 bytes
Cómo funciona:
La línea 1 define la función
trelaque cuando se ejecuta genera el código fuente del programa. La línea 2 es una cadena no asignada, no hace nada. Las líneas 3 y 4 llamantrelaabusando de la sintaxis de cadena de plantilla.Invertido:
Cómo funciona:
La línea 1 es una cadena no asignada, no hace nada. Las líneas 2 y 3 abusan de la sintaxis de cadena de plantilla para imprimir
Hello, World!. La línea 4 es un comentario.fuente
``innecesario el vacío ?trelafunción (que imprime el quine) en la versión de``era el argumento. Frio.trelapor aquí ...> _>GolfScript, 33 bytes
Hacia adelante
Pruébalo en línea!
Hacia atrás
Pruébalo en línea!
fuente
GolfScript,
2928 bytesTiene una nueva línea final. Pruébalo aquí.
Invertido:
Pruébalo aquí.
fuente
RETORNO , 94 bytes
Invertido:
Try it here.
Salidas a STDOUT. Hasta que encuentre un mejor marco de trabajo, esto tendrá que hacer por ahora.
Explicación
Este contiene la cadena de quine. A la inversa, esto se empuja a la pila pero no se emite.
Esto empuja un carácter de presupuesto a la pila y genera el resultado dos veces hasta que no quede nada para generar. A la inversa, esto imprimirá los códigos de acceso que ya están en la pila.
Este muestra el elemento de la pila superior (al revés, esto haría aparecer un carácter espacial) y empuja una serie de códigos de carga a la pila (en el reverso, estos códigos de caracteres serían luego impresos por la serie de
,'s).fuente
Fisión 2, 42 bytes
Adaptación descarada de una excelente frase de @ MartinBüttner en esta respuesta
Pruébalo en línea
Y revertido
Pruébalo en línea
En la versión quine, el átomo comienza en el
Rencabezado de la derecha. Las"aperturas modo que envuelve a la siguiente impresión"(en sí misma). Esto imprime todo excepto el".'!+pon el átomo en char".Olo imprime y destruye el átomo que finaliza el programa.La versión inversa comienza en el
Rnuevo y para cada personaje enHello, Worldestablece el átomo y lo imprime!sin destruir el átomo. Para el personaje final,!la huellaOdestruye el átomo.fuente
Javascript ES6, 55 bytes
Muy simple, de verdad.
fuente
Python 2, 131 bytes
Adelante:
Marcha atrás:
La primera mitad es una línea de una línea, seguida de una
#para formar un comentario que separa la primera mitad de la segunda mitad más simple.fuente
_='_=%r;print _%%_#"!dlroW ,olleH"tnirp';print _%_#"!dlroW ,olleH"tnirpC, 108 bytes
fuente
Python 2, 70 bytes
fuente