El objetivo de este desafío es escribir un programa en el que la longitud de los tres siguientes sea exactamente la misma:
- la longitud del código fuente
- la longitud de la salida que imprime en la salida estándar
- la longitud de las advertencias del compilador que genera con el compilador (sin modificar) de su elección
El ganador es el código más corto para cumplir con los tres criterios, y debe tener al menos 1 carácter.
Para condimentar las cosas, si la salida tiene menos de tres caracteres diferentes, se agrega una penalización de 5 puntos a la longitud de cada uno (por lo tanto, +10 si solo es un tipo, +5 para dos).
(Las líneas nuevas cuentan como 1 o 2 caracteres, usted elige, pero tiene que ser coherente a través de los tres criterios. Los espacios en blanco iniciales y finales se ignoran en todas las líneas en los tres criterios)
En caso de puntaje igual, el que imprime el resultado más interesante (en lugar de basura) es el ganador.
Respuestas:
Bash, 23 caracteres
Error:
Fuente:
Salida:
Brainf * ck, 32 caracteres
Este código se ejecuta durante aproximadamente 3 segundos y se detiene y muestra el siguiente error y salida.
Error:
Fuente:
Salida: (Hexdump)
C, 35 caracteres
Advertencia:
Fuente y salida:
PHP, 50 caracteres
Advertencia:
Fuente y salida:
fuente
C - 48 caracteres
Nota: incluye una nueva línea final (estilo Unix).
Salida de
gcc a.c
lecturas:El resultado
a.out
es principalmente caracteres que no se imprimen, así que esto es lo que parece después de conectar a través de hexdump:fuente
main(i){i='\z';while(i-->74)putchar(i);}
- pero reducir el tamaño del programa es en realidad contraproducente.JavaScript, 63
66El resultado es:
En Chrome, el error es:
fuente
Visual Basic .NET, 185
Gee,
vbc
es bastante detallado con sus advertencias de compilación. De todos modos, el código es este:(Tenga en cuenta que se supone que son pestañas, no espacios).
La salida es esta:
Y la advertencia del compilador es esta:
(Esta vez, en realidad son cuatro espacios, no pestañas).
fuente
Zsh , 20 bytes
El problema al que nos enfrentamos aquí se menciona en un comentario anterior: Zsh imprime el nombre del programa además del número de línea antes de cada error. La solución aquí usa un nombre de archivo de un carácter para abusar de esto. Lo he envuelto en un script de ayuda para mostrar exactamente lo que imprime, y lo he usado
wc -c
en stderr, stdout y el archivo fuente.Salida:
569Xcatcatcatcatcat
seguido de una nueva líneaErrores:
s:[:2: ']' expected
seguida de una nueva líneaEDITAR: solución alternativa de 20 bytes sin restricción de archivo:
Pruébalo en línea!
Zsh ,
zsh -x
, 10 bytes-x
La bandera habilita xtrace. Esto nuevamente requiere un nombre de archivo de un solo carácter. Pruébalo en línea!Zsh
zsh -JNTwEDY
, 12 bytes-flag
Respuesta más corta sin requisito de nombre de archivo. Establece más banderas e$-
imprime todas. Pruébalo en línea!fuente
JavaScript (Firefox 54), 34 bytes
Salidas:
Y envía esta advertencia a la consola del navegador:
Parece que esta en mi copia de Firefox Developer Edition (54.0a2). También puede funcionar en otras versiones de Firefox.
fuente
Ruby, 48 caracteres.
Salidas
Advierte
(el archivo es r.rb, eliminé la ruta, si lo ejecuta desde irb, obtendrá (irb): 1: advertencia ...)
Existe el método de advertencia en Ruby, pero solo envía sus argumentos a $ stderr, haciendo que parezca menos una advertencia.
fuente
Python, 57 bytes
Otros intérpretes pueden mostrar la advertencia de manera diferente. Esto solo se probó para funcionar en TIO.
Pruébalo en línea
Salida
Advertencia
Tenga en cuenta que los espacios iniciales no se cuentan para el recuento de bytes. Si no se ignoraron los espacios iniciales, esto podría hacerse en 51 bytes.
fuente
Javascript (ES6),
3230 byteshuellas dactilares
en Chrome, y luego arroja
Mi solución original de 32 bytes:
primero, impresiones
Y arroja el error
fuente
VBA, 39 bytes
No estoy seguro si esto califica, dada la restricción del compilador, pero:
Entrada: (en la ventana inmediata)
* La salida incluye caracteres que no se imprimen y que no se reproducen bien en esta ventana.
fuente
Perl 6 , 10 bytes
Pruébalo en línea!
Imprime
1000000000
en STDOUT yBool::True
en STDERR. Ambos producen una nueva línea final, pero este espacio ignora los espacios en blanco finales.dd
es una función de depuración específica de Rakudofuente