Una metaquine è un programma che non è una quine, ma il cui output, quando eseguito come un programma nella stessa lingua, è una quine.
L'obiettivo di questa sfida è scrivere una metaquina. Si tratta di code-golf , quindi vince il codice più breve, con la prima risposta utilizzata come tiebreaker. Si noti che sono accettabili solo programmi completi, a causa della definizione di un quine.
Regole per Quines
Sono accettate solo vere quine. Cioè, è necessario stampare l'intero codice sorgente su STDOUT, senza :
- leggendo il codice sorgente, direttamente o indirettamente.
- basandosi su un ambiente REPL che semplicemente valuta e stampa ogni espressione che gli dai da mangiare.
- basandosi su funzionalità linguistiche che in alcuni casi stampano semplicemente l'origine.
- usando messaggi di errore o STDERR per scrivere tutto o parte del quine. (È possibile scrivere elementi su STDERR o produrre avvisi / errori non fatali purché STDOUT sia un quine valido e i messaggi di errore non ne facciano parte.)
- il codice sorgente costituito esclusivamente da valori letterali (siano essi valori letterali stringa, valori letterali numerici, ecc.) e / o NOP.
Qualsiasi output non sopprimibile (come avvisi sul copyright, messaggi di avvio / arresto o un feed di riga finale) può essere ignorato nell'output per motivi di validità del quine.
Esempio
Ignorando la regola che proibisce i programmi solo letterali e il quining incorporato, questa sarebbe una metaquina in Seriamente:
"Q"
Il programma è composto dalla singola stringa letterale "Q"
, che viene implicitamente stampata in uscita. Quando Q
viene eseguito l'output ( ), è un quine ( Q
è la funzione quine integrata).
T
è una semplice risposta Pyth a 1 byte.