Martin ha creado un buen fragmento que se puede utilizar para realizar un seguimiento de la puntuación de las respuestas a los desafíos. Eso es genial y todo, pero ¿no sería mejor si pudieras seguirlo tú mismo?
Cree un programa que compare el recuento de bytes en sí mismo con el resto de las respuestas a esta pregunta y devuelva "Soy el número de respuesta n".
Reglas:
El recuento de bytes en su propia respuesta se puede codificar en el código
La función puede tomar la url como entrada, o puede estar codificada. Los caracteres para la url no contarán para el recuento de bytes, por lo que no es necesario usar un acortador de url.
las direcciones URL de las respuestas no pueden codificarse
El puntaje de las respuestas se puede encontrar en el encabezado (de la misma manera que lo hace el fragmento de Martin).
El encabezado de respuesta debe tener el formato correcto (descrito a continuación).
Si es posible ejecutar el programa en línea, comparta un enlace a un compilador en línea (o un fragmento de código que se pueda ejecutar desde la respuesta). Si no es posible, muestre cómo llamar a la función y muestre el resultado de su propio compilador (en el momento en que publicó la respuesta. No necesita actualizarla a menos que, por supuesto, lo desee).
En realidad, debe comparar la respuesta con las otras respuestas a esta pregunta. Simplemente escribir un guión
I'm answer number 1.
en algún idioma no es legal.Si otras respuestas tienen el mismo número de bytes que las suyas, puede elegir si desea ser el mejor o el peor de ellos.
El encabezado debe estar formateado:
# Language Name, N bytes
No se puede usar tachado, etc., por lo que si se cambia el tamaño del código, muéstrelo en negrita debajo del encabezado o indíquelo de alguna otra manera.
La salida debe ser I'm answer number n.
, donde el número n
es la posición (la línea / espacios finales están bien). Entonces, la respuesta más corta generará: "Soy la respuesta número 1.", la segunda será "Soy la respuesta número 2." etc.
Este es el código de golf, por lo que la respuesta más corta en bytes ganará.
Respuestas:
Perl, 107 bytes
Ligeramente menos golfizado:
Uso de muestra
fuente
Python 2, 145 bytes
Salida de 2015-10-10 17:30:00 UTC:
No conté ninguna de las URL para mi puntaje, si debo comentar cuánto debo agregarle. Tiene puntaje propio codificado en él, supone que ya está publicado. Se romperá si alguna vez se publican más de 99 respuestas.
fuente
AutoIt, 175 bytes
(202 bytes - 27 para la URL)
Salida de 2015-10-09 17:47:00 UTC:
fuente
l
lugar de unI
, así que lo leí mal. La única razón por la que me di cuenta es al ver el artículo de Wikipedia , que tiene un serif.JavaScript (ES7), 149 bytes
283 bytes - 134 para la URL. Nunca he usado solicitudes HTTP antes, pero aquí va ...
Probado con éxito en Firefox 41.
Primero busca a través de los encabezados de todas las respuestas para encontrar sus conteos de bytes, luego encuentra la primera posición con el conteo de bytes
243149. Actualmente está configurado para verificar solo las primeras 100 respuestas, y se romperá si alguien tiene menos de 100 bytes, pero funciona por ahora. ;)Gracias a @GeorgeReith por la técnica mucho más corta. Versión antigua que usa AJAX (243 bytes):
fuente
If other answers have the same number of bytes as your own, you can choose if you want to be best or worse of them.
Eso todavía está en la publicación principal; ¿Estoy malinterpretando algo?PHP, 158
159164bytes127 bytes desde
'http://api.stackexchange.com/2.2/questions/60204/answers?pagesize=99&order=desc&sort=votes&site=codegolf&filter=!--pn9sqW9y0T'
no contadosVersión formateada con cadenas sin golf:
$h
Las secuencias de caracteres como
¶Ø’ßž‘Œˆšß‘Š’šß
son nombres constantes válidos en PHP, pero debido a que las constantes no existen se tratan como cadenas literales.~
los invierte, este a"I'm answer number "
(guardando un byte para una comilla cada uno)Uso
fuente
$a
realmente necesaria la variable? ¿Por qué no lo haces simplemente$h[]=json_decode(…)[items][+$i++][body]
? ¿Qué son estos personajes extraños, por cierto?" "
(3 bytes) se puede reducir a~ß
(2 bytes)json_decode
y justosplit
en':'
o algo así, por ejemplo: codepad.org/7rZg06byJavascript (ES6), 186 bytes
(335 - 149 bytes para la URL)
fuente
\x3C
lugar de<
?Awk, 153 bytes
Esto debe guardarse en un archivo
a
y ejecutarse como:Estoy restando los 68 bytes
http://codegolf.stackexchange.com/questions/60204/how-are-you-doing
y agregando 13 al código para el arranqueawk -v u=
y-f a
.Menos golf, esto puede ser aún más corto:
Siempre se prefiere en lazos. El recuento de bytes está codificado en cada uno.
La versión más deportiva tiene el script que se llama a sí mismo y genera el valor de salida a través del sistema. En cada caso, solo cuenta más bajo que el incremento de valor codificado
r
, que luego debe ajustarse de nuevo a1
si es líder.Esto no encontrar correctamente bytes si hay espacios en blanco entre
bytes
y</h1>
y probablemente un número de otros casos que no han considerado.A partir de
Sun Oct 11 05:17:51 UTC 2015
, esto da:fuente
GNU Awk, 156 bytes
(Inspirado por la solución Awk de n0741337 ).
Éste lo hace todo por sí mismo, sin ejecutar un comando externo.
Espera el nombre de host y la ruta como valores separados. Dado que están disponibles de forma gratuita, es de esperar que esto no rompa las reglas.
Ejecución de muestra:
fuente