"L;L'!+!'_
Pruébalo en línea!
Esto imprime:
_'!+!'L;L"
Pruébalo en línea!
Y viceversa.
Explicación
Esta es una modificación de la quine inversa . Está trabajando para nuestra ventaja aquí, que !se utiliza para imprimir y también está a solo un punto de código de la cita ". Eso hace que sea más fácil hacer que la sección de impresión de cotizaciones sea palindrómica (la '!+!'). Comencemos con el primer código:
"L;L'!+!'_
Este programa tiene dos puntos de entrada en la Ls, cada uno de los cuales crea un átomo a la izquierda. Sin embargo, el correcto golpea inmediatamente al ;que lo destruye. El izquierdo ingresa al modo de cadena y se envuelve hasta el final, de modo que imprime el código completo (excepto el ") de atrás hacia adelante. Eso ya nos da _'!+!'L;L. Todo lo que queda es imprimir el ". _puede ignorarse, '!establece la masa del átomo en 33 (el punto de código de !), la +incrementa "e !imprime. Esa es toda la salida hecha. Los 'Lconjuntos de la masa átomos hasta el punto de código L, pero eso es irrelevante. ;destruye este átomo también y como no quedan átomos, el programa termina.
Ahora al revés:
_'!+!'L;L"
Nuevamente, tenemos dos puntos de entrada, pero un átomo se destruye inmediatamente. Esta vez !+!', primero nos movemos por la sección, así que comenzamos imprimiendo una cotización. El '_es de nuevo irrelevante, pero necesitamos el _(o algún otro personaje inútil) aquí para evitar 'escapar del ". El átomo se envuelve hasta el final, atraviesa el código fuente una vez en modo de cadena para imprimir el resto del programa en reversa, Lluego se ignora y ;destruye el átomo y termina el programa.