Perl 5 , rubíes , JavaScript (cromo), PHP , Python 2 , Python 3 , 1206 bytes, la puntuación 6 6 / 1,206 = 38,6865671641791
q=1//2;s=+0;s|0;"/.__id__;#";_="""q=1//2;s=+0;s|0;"/.__id__;#";_={0}{1}{0};R=chr((39,34)[1/2>0])*12;Q=chr((39,34)[1/2==0])*3;q={0}{2}{0};print(_.format(Q,_,q[0:-12]+R,"%"))""";R=chr((39,34)[1/2>0])*12;Q=chr((39,34)[1/2==0])*3;q="""|;#<?ob_end_clean();
eval($_='"$t"?0?[$q=37 .chr+113 .chr+38 .chr,$p=(96 .chr+39 .chr)*4,$n=10 .chr,$s=39 .chr*12,$S=34 .chr*3]:eval("printf=console.log;c=String.fromCharCode;$q=c(96);$p=c(37,113,38,39).repeat(4);$n=c(10);$s=c(39).repeat(12);$S=c(34,34,34)"):[]?[$q=q(!g)^PA,$p=HARHARHARHAR^od2od2od2od2,$n=R^X,$s=bbbbbbbbbbbb^EEEEEEEEEEEE,$S=hhh^JJJ]:[$q=O^h,$p=str_repeat(RHa3^w9GS,4),$n=R^X,$s=str_repeat(b^E,12),$S=HHH^jjj];//#');printf($x='q=1//2;s=+0;s|0;"/.__id__;#";_=%7$sq=1//2;s=+0;s|0;"/.__id__;#";_={0}{1}{0};R=chr((39,34)[1/2>0])*12;Q=chr((39,34)[1/2==0])*3;q={0}{2}{0};print(_.format(Q,_,q[0:-12]+R,"%8$s"))%7$s;R=chr((39,34)[1/2>0])*12;Q=chr((39,34)[1/2==0])*3;q=%7$s|;#<?ob_end_clean();%5$seval($_=%3$s%1$s%3$s);printf($x=%3$s%2$s%3$s,$_,$x,$q,$p,$n,$s,$S,"%8$s",![]||([]+[])?$n:"");//#%4$s%6$s%7$s;print(_.format(Q,_,q[0:-12]+R,"%8$s"))%9$s',$_,$x,$q,$p,$n,$s,$S,"%",![]||([]+[])?$n:"");//#`q&%`q&%`q&%`q&%''''''''''''""";print(_.format(Q,_,q[0:-12]+R,"%"))
¡Valide Perl, Ruby, PHP, Python 2 y Python 3 en línea!
Nota : ejecutar el programa anterior en la consola del Inspector en Chrome (que parece admitir argumentos posicionales console.log
) devuelve el programa correcto.
Explicación
Esto resultó mucho más de lo que esperaba y también hice mi vida un poco más difícil, por lo que es probable que siga jugando. También me gustaría agregar más idiomas, pero necesito encontrar algo que no le $
importe un sigilo ...
Esto es más o menos un formato estándar quine donde el cálculo de la cotización de uso es un poco diferente para cada idioma: en Ruby %q&
se utiliza, utiliza PHP '
, JavaScript (Node.js) hace uso de `
y Perl 5 utiliza q(
... )
. Debido a que solo cambian las comillas, el resto del programa todavía es ejecutable y una sintaxis válida en cada idioma. Python 2 y 3 se envuelven alrededor del programa anterior usando """
Python 2 y '''
Python 3.
Los programas Perl y Ruby resultantes no son quines estándar, se agregan q
/ %q
s adicionales en cada iteración, pero el primer programa regresa correctamente.
Los resultados son:
- Perl 5:
eval($_=q&
... q&);printf($x=q&
... q&,
... );//#'%`'%`'%`'%`''''''''''''"""
...
- Ruby:
eval($_=%q&
... %q&);printf($x=%q&
... %q&,
... );//#`'`'`'`'''''''''''''"""
...
- JavaScript (Chrome):
eval($_=`
... `);printf($x=`
... `,
... );//#%q&'%q&'%q&'%q&'''''''''''''"""
...
- PHP:
eval($_='
... ');printf($x='
... ',
... );//#`q&%`q&%`q&%`q&%''''''''''''"""
...
- Python 2:
... _="""
... """;
... q="""
...''''''''''''""";print(_.format(Q,_,q[0:-12]+R,"%"))
- Python 3:
... _='''
... ''';
... q='''
...""""""""""""''';print(_.format(Q,_,q[0:-12]+R,"%"))
He reelaborado mucho esto, espero no haber perdido nada clave aquí. Todavía tengo mucho camino por recorrer para estar cerca del puntaje de Jo King ...