Una metaquina es un programa que no es una quina, pero cuya salida, cuando se ejecuta como un programa en el mismo lenguaje, es una quine.
El objetivo de este desafío es escribir una metaquina. Este es el código de golf , por lo que el código más corto gana, con la respuesta más antigua utilizada como un desempate. Tenga en cuenta que solo los programas completos son aceptables, debido a la definición de quine.
Reglas para Quines
Solo se aceptan quines verdaderos . Es decir, debe imprimir el código fuente completo textualmente a STDOUT, sin :
- leyendo su código fuente, directa o indirectamente.
- confiando en un entorno REPL que simplemente evalúa e imprime cada expresión que le da de comer.
- confiando en las características del lenguaje que solo imprimen la fuente en ciertos casos.
- usando mensajes de error o STDERR para escribir todo o parte de la línea. (Puede escribir cosas a STDERR o generar advertencias / errores no fatales siempre que STDOUT sea una quine válida y los mensajes de error no formen parte de ella).
- el código fuente que consiste únicamente en literales (ya sean literales de cadena, literales numéricos, etc.) y / o NOP.
Cualquier salida no suprimible (como avisos de derechos de autor, mensajes de inicio / apagado o un avance de línea final) puede ignorarse en la salida en aras de la validez de la quine.
Ejemplo
Ignorando la regla que prohíbe los programas literales y las comillas incorporadas, esto sería una metaquina en serio:
"Q"
El programa consta del literal de cadena única "Q"
, que se imprime implícitamente en la salida. Cuando Q
se ejecuta la salida ( ), es una quine ( Q
es la función de quine incorporada).
T
es una respuesta Pyth fácil de 1 byte.